1. 程式人生 > >18.2.14 codevs1011 數的計算

18.2.14 codevs1011 數的計算

close cout alt aps 遞推 eve 個數 output for

題目描述 Description

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

先輸入一個自然數n(n<=1000),然後對此自然數按照如下方法進行處理:

1. 不作任何處理;

2. 在它的左邊加上一個自然數,但該自然數不能超過原數的一半;

3. 加上數後,繼續按此規則進行處理,直到不能再加自然數為止.

輸入描述 Input Description

一個數n

輸出描述 Output Description

滿足條件的數的個數

樣例輸入 Sample Input

6

樣例輸出 Sample Output

6

數據範圍及提示 Data Size & Hint

6個數分別是:

6

16

26

126

36

136

技術分享圖片
 1 #include <iostream>
 2 #include <math.h>
 3 #include<string.h>
 4 
 5 using namespace std;
 6 
 7 int sum=0;
 8 
 9 int sol(int n)
10 {
11     if(n<2)
12
return 0; 13 else 14 { 15 for(int i=1;i<=n/2;i++) 16 { 17 sum++; 18 sol(i); 19 } 20 } 21 } 22 23 int main() 24 { 25 int n; 26 cin>>n; 27 sol(n); 28 cout<<sum+1<<endl; 29 return
0; 30 }
View Code

基礎遞推題

能幫助理解概念

18.2.14 codevs1011 數的計算