你算哪个bug


私信TA

用户名:qiao

访问量:45663

签 名:

请一定不要停下来成为你想成为的人鸭!

等  级
排  名 58
经  验 11060
参赛次数 4
文章发表 46
年  龄 20
在职情况 学生
学  校
专  业 计网

  自我简介:

在最好的年龄成为一个优秀的人,是最美的成长了

 

0.0分

392 人评分

  评论区

#include<stdio.h>
int main()
{
    int N,i,j,sn,s[1000],k,l;
    scanf("%d", &N);
    for(i=2;i<=N;i++)
    {
        for(sn=0,j=1,k=0;j<=i/2;j++)//变成到i/2可以不超时
        {
            if((i%j)==0) 
            {
                sn=sn+j;
                s[k++]=j;
            }
        }
        if(sn==i)
        {
            printf("%d its factors are ",i);
            for(l=0;l<k;l++)
            {printf("%d ",s[l]);}
            printf("\n");
        }
        
    }
    return 0;
}
2023-02-22 20:32:05
#define max 1001 有没有大佬告诉我这个是什么意思
2023-02-21 13:18:16
为什么把你的代码提交上去却超时了
2023-01-29 17:02:27
求个大佬告诉我为什么错啊
#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;
}
2023-01-16 16:18:09
为什么非得用两个循环啊?
#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;
}
2022-11-17 19:09:09
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;
为什么我的代码是错的?
2022-11-17 14:22:29
为啥这个不能运行求解
#include <stdio.h>
int main()
{
	int a=0,n=0,x=1,i=1,c=0,sum=0;
	int str[40]; 
	scanf("%d",&n);
	for(x=1;x<n;x++)
	{	
		
		for(i=1;i<x;i++)
		{
			while(x%i==0)
			{	
				str[c]=i;//将因子放入数组 
				c++;
				break;}//获取数组的大小 
		a=c;
		}   
		for(i=0;i<a;i++)//用循环将因子个数相加得到为sum 
      	{
		  sum+=str[i];
	 	}
	    if(x==sum)//判断n是否为完数 
		{	printf("%d its factors are ",x);
			for(i=0;i<a;i++)//循环输入因子 
      		{printf(" %d",str[i]);}	
			  printf("\n");	
 	    }
 	    sum=0;
		 c=0;
			
	}
	return 0;
}
2022-11-13 14:57:32
可是题目不是没有说n是小于1000的呀,为什么数组要设在1001捏,如果要求输入超过1000的咋办
2022-11-05 21:03:03