C语言程序:求1000以内的完数并且并且按照以下格式输出因子: 6 its factors are 1,2,3 用c语言编码1000一杯的所有完数,并按下面格式输出其因子:...
C\u8bed\u8a00\u6c421000\u4ee5\u5185\u7684\u5b8c\u6570\uff0c\u6700\u540e\u8f93\u51fa\u683c\u5f0f\u4e3a6:its factors are 1\uff0c2\uff0c3.\u5728\u7ebf\u7b49#include
#include
int main()
{
int i, j, k;
int sum = 1;
printf("\u5b8c\u6570\u5982\u4e0b");
for (j = 6; j<1000; j++)
{
sum = 1; //\u52a0\u4e0a\u8fd9\u53e5\u3002sum\u6bcf\u6b21\u7528\u5b8c\u6ca1\u6709\u4ece\u65b0\u521d\u59cb\u5316
for (i = 2; i <= sqrt((float)j); i++)
{
if (j%i == 0)
sum = sum + i + j / i;
}
if (sum == j)
{
printf("\n%d its factors are:1", sum);
for (k = 2; k <= sqrt((float)sum); k++)
{
if (sum%k == 0)
printf(",%d,%d", k, sum / k);
}
}
}
}
int m, i, s;
for (m = 1; m <= 1000; m++)
{
s = 0;
for (i = 1; i < m; i++)
if (m%i == 0)
s = s + i;
if (s == m)
{
printf("\n%d=", s);
for (i = 1; i < m; i++)
if (m%i == 0)
{
printf("%d", i); printf("+");
}
}
}
\u7ed9\u4f60\u4e2a\u5bf9\u7684 \u81ea\u5df1\u8c03\u8c03\uff0c\u770b\u770b\u81ea\u5df1\u54ea\u91cc\u9519\u4e86
//楼上的完全错了,不信你自己运行试试
#include<stdio.h>
void main()
{
int i,j,k;
int sum=1;
printf("完数如下:");
for(j=6;j<1000;j++)
{
sum = 1; //每次循环都要将sum赋值1
for(i=2;i<=j/2;i++) //这个需要小于j/2,而不是sqrt(j)
{
if(j%i==0)
sum=sum+i;
}
if(sum==j)
{
printf("
%d its factors are:1",sum);
for(k=2;k<=j/2;k++)//这个需要小于j/2,而不是sqrt(sum)
{
if(sum%k==0)
printf(",%d",k);
}
}
}
printf("
");
}
#include<stdio.h>
#include<math.h>
int main()
{
int i, j, k;
int sum = 1;
printf("完数如下");
for (j = 6; j<1000; j++)
{
sum = 1; //加上这句。sum每次用完没有从新初始化
for (i = 2; i <= sqrt((float)j); i++)
{
if (j%i == 0)
sum = sum + i + j / i;
}
if (sum == j)
{
printf("\n%d its factors are:1", sum);
for (k = 2; k <= sqrt((float)sum); k++)
{
if (sum%k == 0)
printf(",%d,%d", k, sum / k);
}
}
}
}
/*
完数如下
6 its factors are:1,2,3
28 its factors are:1,2,4,7,14
496 its factors are:1,2,4,8,16,31,62,124,248
Press any key to continue
*/
#include <stdio.h>
#include <math.h>
int main () {
int i,j,n,k,sum;
int factors[10];
printf("完数如下
");
for(n = 6;n < 1000; ++n) {
sum = 1;
k = n;
j = 0;
for(i = 2;i <= k/2;i++) {
if(k%i == 0) {
sum += i;
factors[j++] = i;
}
}
if(sum == n) {
printf("%d its factors are:1",sum);
for(i = 0; i < j; ++i)
printf(",%d",factors[i]);
printf("
");
}
}
printf("
");
return 0;
}
绛旓細宸茬粡鏀瑰ソ浜嗭細include<stdio.h> int main(){ int m,i,sum;for(m=1;m<=1000;m++){sum=0;for(i=1;i<m;i++)if(m%i==0)sum+=i;if(sum==m)printf("%d ",m);} printf("\n");system("pause");return 0;}
绛旓細include <stdio.h> int main(){ int i,j,sum;for(i=2;i<1000;++i){ for(j=1,sum=0;j<i;++j){ if(i%j==0){ sum+=j;} } if(sum==i){ printf("%d: its factors are 1",i);for(j=2;j
绛旓細include<stdio.h> int main(){ int i,j,sum=1;int b[100];for(i=3;i<=1000;i++){ sum=1;int k=0;for(j=2;j<i;j++)if( i%j==0) {sum+=j;b[k++]=j;} if(i==sum){ printf("%d its factors are %d",i,b[0]);for(int a=1;a<k; a++)printf(",%d",b[a...
绛旓細涓涓暟锛屾墍鏈夌殑鐪熷洜瀛愶紙鍗抽櫎浜嗚嚜韬互澶栫殑绾︽暟锛夌殑鍜岋紝鎭板ソ绛変簬鏈韩锛岀О涓哄畬鏁般傛墍浠ワ紝瑕佺‘璁ゆ槸鍚︿负瀹屾暟锛屽彧瑕佹妸鎵鏈夌湡鍥犲瓙鐩稿姞鍒ゆ柇鍗冲彲銆備簬鏄紝杩欎釜棰樼洰鐨勭紪绋嬫濊矾涓猴細1 閬嶅巻1~1000锛2 瀵规瘡涓暟锛屽垽鏂槸鍚︿负瀹屾暟锛屽鏄紝鍒欒緭鍑猴紱3 绋嬪簭缁撴潫銆備唬鐮佸涓嬶細include <stdio.h>int main(){ int n, i...
绛旓細include<stdio.h> int main(){ int i,j,s;for(i=2;i<=1000;i++){ s=1;for(j=2;j<=i/2;j++)if(i%j==0)s+=j;if(s==i)printf("%d\n",i);} getch();return 0;}
绛旓細姹1000浠ュ唴鐨瀹屾暟鐨C璇█浠g爜濡備笅:include int main(){ int n=1000;int r,j,i;for(i=1;i<=n; i++){ r = 0;for(j=1;j
绛旓細include <stdio.h>int main() {int n,i,sum;for(n = 2; n <= 1000;n++) {sum = 0;for(i = 1; i < n;i++)if(n % i == 0) sum = sum + i;if(sum == n) {printf( "%d its factors are:\n",n);for(i = 1; i < n; i++)if(n%i == 0) printf("%d "...
绛旓細鍥炵瓟濡備笅锛歩nclude "stdio.h"int main(void){ int i,j,m; for(i=4;i<1000;i+=2){ for(m=1,j=2;j*j<=i;j++) if(!(i%j)) m+=(j!=i/j ? j+i/j : j); if(m==i){ printf("%3d = 1",i); for((m>>=1)+=1,j=2;j<m;j++) ...
绛旓細瀹屽叏鏁版槸闄よ嚜韬鐨勬墍鏈夊洜瀛愪箣鍜屼笌鑷韩鐩哥瓑鐨勬暟銆傜敤涓涓猣or寰幆妫鏌2鑷1000鐨鍋舵暟(杩勪粖涓烘鍙戠幇鐨勫畬鏁板叏鏄伓鏁)锛岃嫢绗﹀悎鏉′欢鍒欒緭鍑烘鏁般傛鏌ユ椂锛岀敤鍙︿竴for寰幆璁℃暟鍙橀噺浠2寮濮嬫闀夸负1鑷虫鏁扮殑涓鍗婂幓闄ゆ鏁帮紝鑳芥暣闄ょ殑绱姞姹傚拰(1鍥犲瓙涓嶇敤妫鏌ワ紝鐩存帴璁″叆鍜)锛屾渶鍚庝笌姝ゆ暟姣旇緝鏄惁鐩哥瓑锛岀浉绛夌殑鍒欐槸瀹屾暟銆
绛旓細閲嶇疆sum鐨勪綅缃敊浜嗭紝鏀惧埌鍐呭惊鐜殑寮澶达細include <stdio.h>int wanquanshu(){int n, i, k, sum;while (scanf("%d", &n)!=EOF){for (i=1; i<=n; i++){sum=0; //鏀惧湪杩欓噷for (k=1; k