不会编程


私信TA

用户名:wang5012938

访问量:6665

签 名:

努力其实是不断对自己新的尝试

等  级
排  名 6242
经  验 1439
参赛次数 0
文章发表 10
年  龄 19
在职情况 学生
学  校 北京工商大学
专  业

  自我简介:

往前走,偶尔回回头。

解题思路:
这样弄感觉思维会更加清晰




注意事项:





参考代码:

#include<stdio.h>
int main()
{
    int n,i,k,sum=0;
    scanf("%d",&n);
    for(i=2;i<=n;i++)
    {
        for(k=1;k<i;k++)
        {
            if(i%k==0)
            {
            sum+=k;                                     
            }
        }    
            if(sum==i)
            {
                printf("%d its factors are",i);
                for(k=1;k<i;k++)
                {
                    if(i%k==0)printf(" %d",k);                       
                }
            printf("\n");
            }
          
            sum=0;                  
    }
    return 0;
}


 

0.0分

0 人评分

  评论区

超时的 把for(k=1;k<i;k++) 改成for(k=1;k<=(i/2);k++)就可以解决了
2018-12-03 09:11:30
#include <stdio.h>
int main()
{
    long double N, sum = 0;
    scanf( "%d", &N );
    for ( int i = 2; i <= N; i++ )
    {
        for ( int j = 1; j <i/2; j++ )
        {
            if ( i % j == 0 )
            {
                sum = sum + j;
            }
        }
        if ( sum == i )
        {
            printf( "%d its factors are ", i );
            for ( int k = 1; k < i; k++ )
            {
                if ( i % k == 0 )printf( "%d ", k );
            }
            printf( "\n" );
        }
        sum = 0;
    }
    return(0);
}
问下我这个哪里错了?
2018-09-16 10:08:16
printf("\n");
            }
           
            sum=0;                  
    }
请问这里是什么意思
2017-11-27 21:03:52
  • «
  • 1
  • »