Nhân 1 số nguyên dương n, hãy kiểm tra n có phải là 1 số hoàn hảo không .gợi ý số hoàn hảo là số có tổng các ước (ngoại trừ nó) bàng chính nó
Vd: 6 có Ư{1;2;3}
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.
#include <bits/stdc++.h>
using namespace std;
long long n,i,x,t,dem;
//chuongtrinhcon
bool kthh(long long n)
{
if (n<=1) return(false);
else
long long t=0;
for (long long i=1; i<=n/2;i++)
if (n%i==0) t=t+i;
if (t==n) return(true);
else return(false);
}
//chuongtrinhchinh
int main()
{
freopen("hoanhao.inp","r",stdin);
freopen("hoanhao.out","w",stdout);
cin>>n;
t=0;
dem=0;
for (i=1; i<=n; i++)
{
cin>>x;
if (kthh(x)==true)
{
dem++;
t=t+x;
}
}
cout<<dem<<endl;
cout<<t;
return 0;
}
+) Các ước của 10 (không kể chính nó) là 1; 2; 5 và 1 + 2 + 5 = 8 ≠ 10 nên 10 không là số hoàn hảo.
+) Các ước của 28 (không kể chính nó) là: 1; 2; 4; 7; 14 và 1 + 2 + 4 + 7 + 14 = 28 nên 28 là số hoàn hảo.
+) Các ước của 496 (không kể chính nó) là 1; 2; 4; 8; 16; 31; 62; 124; 248 và 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248 = 496 nên 496 là số hoàn hảo.
Vậy trong các số trên có 28 và 496 là số hoàn hảo.
program so_hoan_hao;
var
n, tong_uoc, i: integer;
begin
writeln('Nhap vao mot so nguyen duong n:');
readln(n);
tong_uoc := 0;
for i := 1 to n-1 do
begin
if n mod i = 0 then
tong_uoc := tong_uoc + i;
end;
if tong_uoc = n then
writeln('YES')
else
writeln('NO');
end.
Program HOC24;
var i,t,k,n: integer;
begin
write('Nhap N: '); readln(n);
t:=0; k=0;
while k=0 do
begin
n:=n+1;
for i:=1 to n do if n mod i=0 then t:=t+i;
if t=n then
begin
write(n);
k:=k+1
end else t:=0;
end;
readln
end.
+) Các ước của 10 (không kể chính nó) là 1; 2; 5 và 1 + 2 + 5 = 8 ≠ 10 nên 10 không là số hoàn hảo.
+) Các ước của 28 (không kể chính nó) là: 1; 2; 4; 7; 14 và 1 + 2 + 4 + 7 + 14 = 28 nên 28 là số hoàn hảo.
+) Các ước của 496 (không kể chính nó) là 1; 2; 4; 8; 16; 31; 62; 124; 248 và 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248 = 496 nên 496 là số hoàn hảo.
Vậy trong các số trên có 28 và 496 là số hoàn hảo.
+) Các ước của 10 (không kể chính nó) là 1; 2; 5 và 1 + 2 + 5 = 8 ≠ 10 nên 10 không là số hoàn hảo.
+) Các ước của 28 (không kể chính nó) là: 1; 2; 4; 7; 14 và 1 + 2 + 4 + 7 + 14 = 28 nên 28 là số hoàn hảo.
+) Các ước của 496 (không kể chính nó) là 1; 2; 4; 8; 16; 31; 62; 124; 248 và 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248 = 496 nên 496 là số hoàn hảo.
Vậy trong các số trên có 28 và 496 là số hoàn hảo.
program bai_toan;
var
N, i, sum: integer;
begin
write('Nhap so N: ');
readln(N);
write('Cac uoc cua ', N, ' khong ke ', N, ' la: ');
for i := 1 to N - 1 do
if N mod i = 0 then
write(i, ' ');
writeln;
sum := 0;
for i := 1 to N - 1 do
begin
if N mod i = 0 then sum := sum + i;
end;
if sum = N then writeln(N, ' la so hoan hao')
else writeln(N, ' khong phai la so hoan hao');
writeln;
writeln('Tat ca so hoan hao trong pham vi 1 -> ', N, ' la:');
for i := 1 to N do
begin
sum := 0;
for j := 1 to i - 1 do
begin
if i mod j = 0 then sum := sum + j;
end;
if sum = i then writeln(i);
end;
readln;
end.
uses crt;
var n,i,t:integer;
begin
clrscr;
write('Nhap n='); readln(n);
t:=0;
for i:=1 to n-1 do
if n mod i=0 then t:=t+i;
if t=n then writeln(n,' la so hoan chinh')
else writeln(n,' khong la so hoan chinh');
readln;
end.
{PROGRAM bai_tap;
USES crt ;
VAR i , n, t:integer;
BEGIN
clrscr;
Write('Nhap n');Readln(n);
t:=0;
For i:=1 to n-1 do
if n mod i=0 then t:=t+i;
if t=n then write(n,' la so hoan chinh');
else Writeln(n,' Khong la so hoan chinh');
Readlnnline Pascal Compiler.
begin
End,
Readlnnline
END.
}
#include <bits/stdc++.h>
using namespace std;
long long n,i,t;
int main()
{
cin>>n;
t=0;
for (i=1; i<=n/2; i++)
if (n%i==0) t=t+i;
if (t==n) cout<<"YES";
else cout<<"NO";
return 0;
}