程式設計題3 自然數的計算

2021-09-29 09:00:11 字數 792 閱讀 5299

問題描述:

我們要求找出具有以下性質的數的個數(包含輸入的自然數本身)

先輸入乙個自然數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 的餘數即可。樣例輸入...