/*我們要求找出具有下列性質數的個數(包含輸入的自然數n)。先輸入乙個自然數n(n<=1000),然後對此自然數按照如下方法進行處理: 1.不作任何處理; 2.在它的左邊加上乙個自然數,但該自然數不能超過原數最高位數字的一半; 3. 加上數後,繼續按此規則進行處理,直到不能再加自然數為止.
【輸入】 第一行乙個數t,表示有t組資料 之後每組資料佔一行,每行乙個數n
【輸出】 每組資料佔一行,乙個數,表示滿足條件的數的個數
【輸入範例】1 6
【輸出範例】6 */
#include
#include
using namespace std;
int getwei(int x) //取一共多少位
return i;
}int getfirst(int x) //取數字的第一位
return x;
}void function(int x)}}
else
} break;
case 2:
two=getfirst(x);
for(m;m<=two/2;m++)}}
else
}break;
case 3:
three=getfirst(x);
for(p;p<=three/2;p++)}}
else
}break;
}cout<<"一共有多少個數:"bool first=true;
cout<<"set num"=1000||num==1)
else
}function(num);
getch();
cout<<"滿足條件的數為:"<}
找1000以內的完數
完數,是一些特殊的自然數,它所有的真因子 即除了自身以外的因子 的和,恰好等於它本身。所以這裡說明一下,1不是完數,因為1只有自身這乙個因子 第乙個完全數是6,第二個完全數是28,第三個完全數是496,後面的完全數還有8128 33550336等等。所以程式迴圈直接從數字2開始判斷 及執行結果如下 ...
如何找出 1000 以內的 完數
如果乙個數恰好等於它的因子之和,那麼這個數就被稱為 完數 如 6 1 2 3。程式設計找出 1000 以內的所有 完數 外層迴圈 998 次,每次迴圈得到的 i 傳入下個迴圈內,內部迴圈求解出符合 i 整除 k 等於 0 的數,如果能夠整除,那麼說明 k 是 i 的乙個因子,則用 sum 累加,直到...
1000以內的水蓮花數(阿姆斯特朗數)
int i,t,k,a 3 for i 2 i 1000 i 窮舉要判定的數i的取值範圍2 1000 k 10 if a 0 a 0 a 0 a 1 a 1 a 1 a 2 a 2 a 2 i 判斷i是否為阿姆斯特朗數 printf d n i 若滿足條件,則輸出 方法1 第二個for迴圈的條件是k...