日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

(数论)数的计算

發(fā)布時(shí)間:2025/3/13 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (数论)数的计算 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目描述?Description

我們要求找出具有下列性質(zhì)數(shù)的個(gè)數(shù)(包含輸入的自然數(shù)n):

先輸入一個(gè)自然數(shù)n(n<=1000),然后對(duì)此自然數(shù)按照如下方法進(jìn)行處理:

1.??????????不作任何處理;

2.??????????在它的左邊加上一個(gè)自然數(shù),但該自然數(shù)不能超過(guò)原數(shù)的一半;

3.??????????加上數(shù)后,繼續(xù)按此規(guī)則進(jìn)行處理,直到不能再加自然數(shù)為止.

輸入描述?Input Description

一個(gè)數(shù)n

輸出描述?Output Description

滿足條件的數(shù)的個(gè)數(shù)

樣例輸入?Sample Input

6

樣例輸出?Sample Output

6

數(shù)據(jù)范圍及提示?Data Size & Hint

6個(gè)數(shù)分別是:

6

16

26

126

36

136

分析:

? ? 1. 本題難度看似不大,但如果用遞歸來(lái)做的話耗時(shí)非常大,因?yàn)樾枰貜?fù)計(jì)算的數(shù)據(jù)量太大了。當(dāng)然我們也可以采取一邊遞歸一邊儲(chǔ)存的方法,但計(jì)算量也還是不小,再進(jìn)一步思考,實(shí)際上就是可以用如下的遞推法來(lái)做;
??? 2. 例如要求f(6),經(jīng)過(guò)分析,我們知道:f(6)=f(1)+f(2)+f(3)+1,也就是說(shuō),f(6)的答案數(shù)量是在它之前可以取的所有自然數(shù)的答案數(shù)量之和(6之前可以取1,2,3三個(gè)自然數(shù)),最后加1是指數(shù)字6本身也是一個(gè)答案;
??? 3. 所以,我們可以知道f(n)=f(1)+f(2)+......f(trunc(n/2))+1;
??? 4. 因此,要求f(n),我們只需用上述公式編一個(gè)遞推過(guò)程,把f(2)到f(n)全部求出即可,對(duì)于f(1000)也不超過(guò)1秒就能得到結(jié)果。
??? 第二種算法:
??? 1. 對(duì)于f(7)=f(6)是顯而易見(jiàn)的,也即f(2n+1)=f(2n)。那么,f(8)和f(7)之間有什么關(guān)系呢?
??? 2. 分析可知:f(8)和f(7)的差別是,f(8)除了包含f(7)的所有情況外,還要多加上f(4),即:f(8)=f(7)+f(4)。因此可得:f(2n)=f(2n-1)+f(n)。只需據(jù)此編一個(gè)遞歸小過(guò)程或者用遞推方法即可。

1 #include <iostream> 2 using namespace std; 3 int main() 4 { 5 int i,n,ans,sum[1001]; 6 sum[0] = 0,sum [1] = 1; 7 cin>>n; 8 for(i = 2 ; i <= n ; i++) 9 { 10 ans = sum[i/2] + 1; 11 sum [i] = sum[i-1] + ans; 12 } 13 cout<<sum[n] - sum[n-1]<<endl; 14 return 0; 15 } View Code

?

轉(zhuǎn)載于:https://www.cnblogs.com/ganhang-acm/p/4167513.html

與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的(数论)数的计算的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。