#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int *yinshu(int num)
{
int i,sum=0,j=2,count=0;
int s[10000];
for(i=1;i<num;i++)
{
if(0==num%i)
{
sum += i;
s[j++]=i;
count++;
}
}
s[0]=sum; //因式之和
s[1]=count+2;//因为第一个元素是因式和,第二个元素是因子个数
return s;
}
int main()
{
int i,N,he,j=0,k,length;
scanf("%d",&N);
for(i=1;i<=N;i++)
{
if(i == yinshu(i)[0]) //返回值为数组的调用形式
{
printf("%d its factors are ",i);
for(j=2;j<yinshu(i)[1];j++)
{
printf("%d ",yinshu(i)[j]);
}
printf("\n");
}
}
system("pause");
}
0.0分
0 人评分