程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 編程-c語言求完全數問題求助~~

編程-c語言求完全數問題求助~~

編輯:編程綜合問答
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上運行結果正確,但是提交到學校平台上顯示無結果,超出時間限制。
圖片說明

最佳回答:


 #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;
}

我用上面的代碼測試了程序運行時間,沒什麼問題啊~
你那個學校平台是怎麼個情況?程序在我看來沒什麼大問題(可以再省略一部分循環次數的)。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved