69,371
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <math.h>
bool Judge(int value)
{
int sum=1;
int l=(int)sqrt(value);
for (int i=2;i<=l;i++)
{
if (value%i==0)
{
sum+=i;
sum+=value/i;
}
}
return value==sum;
}
void startJudge(int n)
{
bool found=false;
for (int i=2;i<=n;i++)
if (Judge(i))
{
printf("%d ",i);
found=true;
}
if (found)
printf("\n");
else
printf("none\n");
}
int main()
{
int sum;
scanf("%d",&sum);
if (sum<=0)
{
printf("Are you kidding me?\n");
return -1;
}
int *n=new int[sum];
for (int i=0;i<sum;i++)
{
scanf("%d",n+i);
if (n[i]<=0)
{
printf("Are you kidding me?\n");
delete[] n;
return -1;
}
}
for (int i=0;i<sum;i++)
startJudge(n[i]);
delete[] n;
return 0;
}
#include<stdio.h>
int main()
{
int n,i,sum,j,k,m;
scanf("%d",&j);
for(k=2; k<=j; k++)
{
sum=1;
for(m=2; m<k; m++)
{
if(k%m==0)
sum = m+sum;
}
if(sum==m)
{
printf("%d ",sum);
}
else
{
printf("none\n");
}
}
}
#include <stdio.h>
/*
* Judge whether the value is a wanshu, yes return 1, no return 0
*/
int Judge(int value)
{
int i;
int len = value/2;
int sum = 0;
if( value <= 1)
return 0;
else
sum = 1;
for(i=2; i <= len; i++)
{
if(value%i == 0)
sum += i;
}
if(sum == value)
return 1;
else
return 0;
}
int main(int argc,char *argv[])
{
int i,n;
printf("Please input a num in 1-1000:");
scanf("%d",&n);
for(i = 1; i<=n; i++)
{
if(Judge(i) == 1)
printf("%d\n",i);
else
printf("none\n");
}
return 0;
}