题目:
![]()
代码
#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;
int yinshu[10000]={0};//定义数组全局变量
int len=0;//定义长度全局变量
int yinshusum(int n){
memset(yinshu, 0, 10000);//数组初始化为0
len=0;
int j=0,sum=0;
for(int i=1;i<n;i++){ //查找一个数除了本身的所有因子
if(n%i==0){
yinshu[j]=i;
len++;
sum+=i;
j++;
}
}
sort(yinshu,yinshu+len);//数组升序排序
return sum;
}
int main(){
int n, flag=0;//flag为标记,判断该数是否有除了本身的因子
if(scanf("%d",&n)==1){//判断是否为数字
for(int i=2;i<=n;i++){
if(i==yinshusum(i)){
flag=1;
printf("%d its fastors are",i);
for(int j=0;j<len;j++){
printf(" %d",yinshu[j]);
}
printf("\n");
}
}
if(flag==0){
printf("? its fastors are ? ? ?");
}
}else{
printf("? its fastors are ? ? ?");
}
}