69,371
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#define FALSE 0
#define TRUE 1
int IsPerfect(const int number);
int main(const int argc, const char *argv[])
{
for (int i = 2; i < 9999; ++i) {
if (IsPerfect(i) == TRUE) {
printf("%-6d", i);
}
}
return 0;
}
int IsPerfect(const int number)
{
int sum = 0;
for (int i = 1; i < number; ++i) {
sum+= number % i == 0? i : 0;
}
return sum == number? TRUE : FALSE;
}
//完数等于他的真约数之和。
#include<iostream>
#include<iomanip>
const int maxsize(10000);
using namespace std;
int Isperfect(int n)
{
int j,sum=0;
for(j=1;j<n;j++)
if(n%j==0)
sum+=j;
if(sum==n) //是完全数返回1
return 1;
return 0;
}
int main()
{
int i;
for(i=1;i<maxsize;i++)
if(Isperfect(i))
cout<<setw(6)<<i<<endl;
return 0;
}
#include "stdio.h"
int IsPerfect(int x)
{
int sum=1;
for(int j=2;j<x;j++)
{
if(x%j==0) sum+=j;
}
if(sum==x) return 1;
else return 0;
}
int main()
{
int i;
for(i=2;i<=9999;i++)
{
if (IsPerfect(i))
printf("%d\n",i);
}
getchar();
}
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int IsPerfect(int number);
int main()
{
printf("the perfect number between 1 and 9999 are:\n");
for(int i=1;i<10000;i++)
if(IsPerfect(i) != 0)
printf("%d\n",i);
system("pause");
return 0;
}
int IsPerfect(int number)
{
int sum = 1;
for(int i=2;i<=sqrt(number);i++)
if(number % i ==0)
sum += i+number/i;
if(sum == number)
return 1;
else
return 0;
}