1021 1017
问题①
数据只能读到415 ?????????
问题②
因子输出因为分别赋在两个数组内,
输出顺序不符,需重新排序两个数组
#include#include int main() { int n; scanf("%d",&n); for(int i=1;i<=n;i++){ int a[i],b[i]; int k=0; int s=0; int z=0; //printf("%d***\n",i); for(int j=1;j<=sqrt((double)i);j++) { if(i%j==0){ k=i/j; //if(a[i]!=0||b[i]!=0){ a[j]=j; b[j]=k; //} // printf("%d %d %d %d\n",a[j],b[j],i,j); z=j; } } for(int q=1;q<=z;q++){ if(a[q]!=0&&b[q]!=0){ s=s+a[q]+b[q]; //printf("%d %d %d %d %d\n",a[q],b[q],q,i,s); } } //printf("%d %d\n",s,i); if(s-i==i){ printf("%d its factors are ",i); for(int q=1;q<=z;q++){ if(a[q]!=0&&b[q]!=0){ printf(" %d",a[q]); } } for(int q=1;q<=z;q++){ if(a[q]!=0&&b[q]!=0){ printf(" %d",b[q]); } } printf("\n"); } } }
0.0分
0 人评分