問題描述:
我們要求找出具有以下性質的數的個數(包含輸入的自然數本身)
先輸入乙個自然數n(n<=1000),然後對此自然數進行如下操作:
1.不作任何操作
2.在他左邊加上乙個自然數,但該自然數不能超過原數最高位數字的一半
3.加上數之後,繼續按此規則進行處理,直到不能再加自然數為止
輸入:第一行乙個數t,表示有t組資料輸入
之後每組資料佔一行,每行乙個自然數n
輸出:每組資料佔一行,乙個數,表示滿足條件的數的個數
輸入樣本:16
輸出樣本:
6
#include
using
namespace std;
//思路,只要是第乙個數字的一半一下就可以,採用遞迴的方法,如當輸入6***時:
//6:6
//i=3:36
//i=3/2=1:136
//i=2:26
//i=2/1=1:126
//i=1:16
//所以輸出6
連續的自然數相加
正整數中有些數字是可以由連續的自然數相加而得,比如 1 2 3 4 5 9 2 3 4 9 這裡再列出它的三個問題 1 寫乙個程式,對於任意64位正整數,輸出它所有可能的連續自然數之和的算式?2 怎麼樣的數字是不能由連續的自然數相加而得,並且證明?3 64位正整數範圍內子串行數目最多的數是哪乙個?能...
自然數的拆分問題
任何乙個大於1的自然數n,總可以拆分成若干個小於n的自然數之和。現在給你乙個自然數n,要求你求出n的拆分成一些數字的和。每個拆分後的序列中的數字從小到大排序。然後你需要輸出這些序列,其中字典序小的序列需要優先輸出。一本通的題 include include include using namespa...
2019 9 27 自然數的拆分
題目描述 給定乙個自然數n,要求把n拆分成若干個正整數相加的形式,參與加法運算的數可以重複。求拆分的方案數mod 2147483648的結果。1 n 4000。輸入乙個整數n。輸出輸出乙個數,即所有方案數 因為這個數可能非常大,所以你只要輸出這個數 mod 2147483648 的餘數即可。樣例輸入...