Số hoàn hảo là những số có tính chất: Tổng các ước của số đó (trừ số đó) bằng chính số đó
Đây là hàm con kiểm tra một số có phải số hoàn hảo không, nếu có trả về giá trị 1, ngược lại trả về 0 :
Code:
int is_perfect_number (int n)
{
int i,sum=0;
for(i=1;i<n;i++)
if(n%i==0)
sum+=i;
if(sum==n)
return 1;
return 0;
}
Tìm ước chung lớn nhất của 2 số
Mình có mấy cách như thế này đều dùng được:
Code:
int gcd(int a, int b)
{
if(b==0)
return a;
return gcd(b,a%b);
}
Code:
int gcd(int a, int b)
{
int t;
while(b!=0)
t=a%b,a=b,b=t;
return a;
}
Code:
int gcd(int a, int b)
{
while(a!=b){
if(a>b)
a=a-b;
else
b=b-a;
}
return a;
}
Mình xét số dương thui nhé