程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 九度OJ—題目1060:完數VS盈數

九度OJ—題目1060:完數VS盈數

編輯:C++入門知識

九度OJ—題目1060:完數VS盈數



上一篇http://www.Bkjia.com/kf/201412/363600.html
題目描述:

一個數如果恰好等於它的各因子(該數本身除外)子和,如:6=3+2+1。則稱其為“完數”;若因子之和大於該數,則稱其為“盈數”。
求出2到60之間所有“完數”和“盈數”。

輸入:

題目沒有任何輸入。

輸出:

輸出2到60之間所有“完數”和“盈數”,並以如下形式輸出:
E: e1 e2 e3 ......(ei為完數)
G: g1 g2 g3 ......(gi為盈數)
其中兩個數之間要有空格,行尾不加空格。

樣例輸入:
樣例輸出:
來源:
2000年清華大學計算機研究生機試真題 答疑:
解題遇到問題?分享解題心得?討論本題請訪問:www.Bkjia.com

 

    #include  
    #include  
       
    int main() 
    { 
        int e[20]={0}; 
        int g[20]={0}; 
       
        int i=0,j=0,v=0,u=0; 
        int a,b; 
       
        for(b=2;b<=60;b++) 
        { 
            a=0; 
       
            for(i=1;ib) 
            { 
       
                g[v++] = b; 
       
            } 
            else if(a==b) 
            { 
                e[u++] = b; 
            } 
        } 
       
        printf("E: "); 
        for(i=0;i

<u;i++) {="" if(i!="0)" printf("="" ");="" printf("%d",e[i]);="" }="" printf("\ng:="" for(i="0;i<v;i++)" printf("%d",g[i]);="" printf("\n");="" return="" 0;="" **************************************************************="" problem:="" 1060="" user:="" vhreal="" language:="" c="" result:="" accepted="" time:0="" ms="" memory:908="" kb="" ****************************************************************=""

 

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