kid_0203 2015-11-06 15:19 采纳率: 50%
浏览 1864
已采纳

c语言求完全数问题求助~~

找完全数
成绩: 10 / 折扣: 0.8
完全数是其各因子之和正好等于本身的数,如6=1+2+3,28=1+2+4+7+14,所以6,8都是完全数,请编程找出2-20000内的所有完全数.输入整数n,输出第n个完全平方数。

 #include<stdio.h>
int main()
{
    int a,i,j=0,s=0,n,b[4];
    scanf("%d",&n);
    for(a=2;a<=20000;a++)
    {
        for(i=1,s=0;i<a;i++)
        {
            if(a%i==0) s=s+i;
        }

        if(s==a) {b[j]=a;j++;}
    }
    printf("%d\n",b[--n]);
    return 0;
}

请问这个程序有啥错误,vc上运行结果正确,但是提交到学校平台上显示无结果,超出时间限制。
图片说明

  • 写回答

3条回答

  • Meditator_hkx 2015-11-06 15:46
    关注
     #include<stdio.h>
    #include<time.h>
    int main()
    {
        clock_t t_s,t_e;
        int a,i,j=0,s=0,n,b[4];
        scanf("%d",&n);
        t_s = clock();
        for(a=2;a<=20000;a++)
        {
            for(i=1,s=0;i<a;i++)
            {
                if(a%i==0) s=s+i;
            }
    
            if(s==a) {b[j]=a;j++;}
        }
        t_e = clock();
        double t = (t_e-t_s)/CLOCKS_PER_SEC;
        printf("%d\n",b[--n]);
        printf("Time used:%fs\n",t);
        return 0;
    }
    

    我用上面的代码测试了程序运行时间,没什么问题啊~
    你那个学校平台是怎么个情况?程序在我看来没什么大问题(可以再省略一部分循环次数的)。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题