#include<stdio.h> int main(void) { int N,n,sum,i,k,K; int a[]={0}; scanf("%d",&N); printf("%d",N); for(n=1;n<N;n++) { sum=0;k=0; for(i=1;i<n;i++) { if(n%i==0) { a[k++]=i; sum=sum+i; } K=k; } if(sum==n) { printf("%d its factors are ",n); for (k=0;k<K;k++) { printf("%d ",a[k]); } printf("\n"); } } printf("%d ",n); return 0; } 为什么我这个输出6那个答案之后就结束循环了啊
为什么要重置,大佬我不懂
喜欢吃东西的小东西 2023-12-15 16:17:44 |
你把重置的那步删了,就知道为啥了
uq_72670706696 2024-01-18 20:04:32 |
一个是求和重置,一个是下标重置
#include<stdio.h> int main() { int N; scanf("%d",&N); int i,j,k,tem,a[100]; for(i=1;i<=N;i++) { tem=0; k=0; for(j=1;j<i;j++) { if(i%j==0) { tem=tem+j; a[k]=j; k++; } } if(i==tem) { printf("%d its factors are ",i); for(j=0;j<k;j++) { printf("%d",a[j]); } printf("\n"); } } return 0; }
大佬们帮我看看 答案正确 但就是通过不了 为啥啊 #include<stdio.h> int main() { int a,s,b; scanf("%d",&a); for(s=0,b=1;b<a;b++) { if(a%b==0) s=s+b; } if(s==a) { printf("%d its factors are ",a); for(s=0,b=1;b<a;b++) { if(a%b==0) printf("%d ",b); } } }
2340850104史凯 2023-12-10 14:15:07 |
你没有正确输出因子吧
123456 2024-01-14 20:42:58 |
哪个符号定义重复了吧;
uq_72670706696 2024-01-18 20:08:40 |
你这个只能把输入的数和他的完数输出,题目是1000以内的所有完数
#include<stdio.h> int main(){ int N,a,b,c,d; c=0; d=1; a=1; b=1; scanf("%d",&N); while(a<N) { a++; while(b<a) { if(a%b==0) { c=c+b; if(a==c) { printf("%d its factors are %d",c,b); printf("\n"); } } b++; } b=d; } return 0; } 大家能帮忙看看我这个哪里错了
uq_72670706696 2024-01-18 20:19:49 |
c就是求和的需要重置
uq_72670706696 2024-01-18 20:21:50 |
还有你这个可能算一半的时候就等于了,但这个数不是完数
这寻找完数难道有什么简便算法吗?我测的时间是855ms 都要超时了
H2330819071 2023-11-19 12:53:04 |
j<i可以改成j<=i/2
狂拽斌少 2023-11-19 15:10:26 |
谢谢
#include<stdio.h> int main() { int N, i, j; scanf("%d", &N); for (i = 2; i <= 1000; i++) { int sum = 0; for (j = 1; j <= i - 1; j++) { if (i % j == 0) { sum += j; } } if (sum == i) { printf("%d its factors are ", i); for (j = 1; j <= i - 1; j++) { if (i % j == 0) { printf("%d ", j); } } printf("\n"); } } } 求个大佬! 这个运行结果和题目的样例一样,为什么错误啊
cdsg 2023-10-29 10:49:38 |
你这个跟输入的数毫无关系了,因为你i遍历到1000,比如输入n=20,输出还是那三行
cdsg 2023-10-29 10:53:19 |
咱都是初学者,加个好友有问题时候交流一下呗
没素质 2023-11-04 22:44:10 |
@dotcpp0701227 为什么输出那里作者不输出数组,按照他这个我输出不出来各个因子
cdsg 2023-11-06 11:26:07 |
@dotcpp0701113 数字数组不能整体输出,只能挨个循环遍历输出。字符串数组可以整体输出
cdsg 2023-11-06 11:26:22 |
@dotcpp0701113 数字数组不能整体输出,只能挨个循环遍历输出。字符串数组可以整体输出
没素质 2023-11-07 16:57:38 |
@dotcpp0701227 谢谢谢谢谢谢,悟了
uq_72670706696 2024-01-18 20:03:21 |
我用你这个复制粘贴可以的,就是多输出两个1000