点赞(0)
 

0.0分

311 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 135 条评论

WBGtheshy 1年前 回复TA
#define max 1001 有没有大佬告诉我这个是什么意思
十九 1年前 回复TA
@想飞的鱼 精简一下能到900ms
uq_47536912922 1年前 回复TA
@想飞的鱼 #include<stdio.h> void wanshu(int n) { 	int i,j=0; 	int b=0; 	int a[n]; 		 for(i=1;i<n;i++) 	    { 	    	if(n%i==0) 	    	{ 			a[j]=i; 			b+=a[j]; 			j++; 	    	} 	    }  	    	    if(b==n)//判断是否为完数          { 	        printf("%d its factors are ",n);          	for(i=0;i<j;i++) 	        { 	        	printf("%d ",a[i]);	 	        	a[i]=0; 	        } 	        printf("
"); 	    }	 } int main() { 	int i; 	int n; 	scanf("%d",&n); 	for(i=2;i<=n;i++) 	{ 		wanshu(i); 		 		}	     return 0; }
想飞的鱼 1年前 回复TA
为什么把你的代码提交上去却超时了
Kanays 2年前 回复TA
求个大佬告诉我为什么错啊
#include <stdio.h>
int main()
{
	int n,i,j,ch[100]={0},m=0,x=0;
	scanf("%d",&n);
	for(i=2;i<=n;i++)
	{
		for(j=1;j<=i/2;j++)
		{
			if(i%j==0) {m+=j;ch[x++]=j;}
		}
		
		if(m==i) 
		{
			printf("%d its factors are ",i);
			for(x=0;ch[x]!=0;x++)
			printf("%d ",ch[x]);
			printf("\n");
		}
		m=0;x=0;ch[100]={0};
	}
	return 0;
}
嘻嘻哈哈哦 2年前 回复TA
@山茶 好像结不了题啊。
坚果 2年前 回复TA
@一 for(k=1;k<i;k++) 加的因子不包括它本身    for(l=0;l<i;l++)把n改成i 输出完数的因子
付28 2年前 回复TA
@山茶 那怎么求范围内所有的完数呢?
山茶 2年前 回复TA
为什么非得用两个循环啊?
#include<stdio.h>
#define max 1001
int main(){
    int n,i,j,a[max],l;
    int tem=0,k=0;
    scanf("%d",&n);
        for(j=1; j<n; j++) {
            if(n%j==0) {//满足条件 
                tem+=j;//储存因子之和 
                a[k++]=j;//储存因子 
            }
        }
        if(tem==n) {//满足条件 格式输出 
            printf("%d its factors are ",tem);
            for(l=0;l<k;l++){
                printf(" %d",a[l]);
            }
            printf("\n");
        }
    return 0;
}
2年前 回复TA
int i;
	int j;
	int k;
	int a[1000];
	int l=0;
	scanf("%d", &j);
	for (i = 1; i <= j; i++)
	{
		int sum = 0;
		int n = 0;
		for (k = 1; k <= i; k++)
		{
			if (i % k == 0)
			{
				a[n++] = k;
				sum = sum + k;
			}
		}
		if (sum == i)
		{
			printf("%d its factor are ",i);
			for (l=0;l < n;l++)
			{
				printf("%d", a[l]);
			}
			printf("\n");
		}
	}
      return 0;
为什么我的代码是错的?