Tính tổng các ước của số sau
a) 3072
b) 4608
Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
https://www.youtube.com/channel/UCrvbojLGIWZot6_JUWWoMuw
đắng kí giúp mình
a) Phân tích thành tích các thừa số nguyên tố: \(3072=2^{10}.3\)
Tổng các ước của \(3072\)là:
\(\sigma\left(3072\right)=1+3+\left(2^1+2^2+...+2^{10}\right)+3\left(2^1+2^2+...+2^{10}\right)\)
\(=4\left(1+2+2^2+...+2^{10}\right)\)
Ta có: \(A=1+2+...+2^{10}\)
\(2A=2+2^2+...+2^{11}\)
\(2A-A=\left(2+2^2+...+2^{11}\right)-\left(1+2+...+2^{10}\right)\)
\(A=2^{11}-1\)
Suy ra \(\sigma\left(3072\right)=4\left(2^{11}-1\right)=2^{13}-4\)
b) Tương tự.
\(4608=2^9.3^2\)
\(\sigma\left(4608\right)=1+3+3^2+\left(2^1+2^2+...+2^9\right)+3\left(2^1+2^2+...+2^9\right)+3^2\left(2^1+2^2+...+2^9\right)\)
\(=\left(1+3+3^2\right)\left(1+2^1+2^2+...+2^9\right)\)
\(=13299\)
#include <bits/stdc++.h>
using namespace std;
long long n,i,t,j;
bool kt;
int main()
{
cin>>n;
for (i=2; i<=n; i++)
{
kt=true;
for (j=2; j*j<=i; j++)
if (i%j==0) kt=false;
if (kt==true) cout<<i<<" ";
}
cout<<endl;
t=0;
for (i=1; i<=n; i++)
if (n%i==0) t+=i;
cout<<t;
return 0;
}
a) 72 = 2 3 . 3 2 có (3 + 1) . (2 + 1) = 12 (ước)
Ư(72) = {1; 2; 3; 4; 6; 8; 9; 12; 18; 24; 36; 72}
a) 72 = 2 3 . 3 2 có (3 + 1) . (2 + 1) = 12 (ước)
Ư(72) = {1; 2; 3; 4; 6; 8; 9; 12; 18; 24; 36; 72}
b) 120 = 2 3 . 3 . 5 có ( 3 + 1 ) . ( 1 + 1 ) . ( 1 + 1 ) = 16 (ước)
Ư(120) = {1; 2; 3; 4; 5; 6; 8; 10; 12; 15; 20; 24; 30; 40; 60; 120}