題目描述
我們要求找出具有下列性質數的個數(包含輸入的正整數 n)。
先輸入乙個正整數 n(n≤1000),然後對此正整數按照如下方法進行處理:
不作任何處理;
在它的左邊加上乙個正整數,但該正整數不能超過原數的一半;
加上數後,繼續按此規則進行處理,直到不能再加正整數為止。
輸入格式
1 個正整數 n(n≤1000)
輸出格式
1 個整數,表示具有該性質數的個數。
輸入輸出樣例
輸入 #1
輸出 #1
說明/提示
滿足條件的數為
6,16,26,126,36,136
【題目**】
noip 2001 普及組第一題
思路:設f[i]存放輸入為i時滿足條件的數,根據題目我們可以推斷第i個數肯定和之前的數有某種關係,於是我們令i=1,2,3時分別推出答案,發現要求第n個數,只需要把前面已經算出來的f[1]到f[n/2]的和再加上1(即它本身的情況),就是f[n]的答案。
上**
#include
using
namespace std;
int n;
long
long f[
1001];
long
long
cal(
int n1)
//計算1到n1的和
intmain()
printf
("%lld"
,f[n]);
return0;
}
P1028 NOIP2001 普及組 數的計算
傳送門 我們要求找出具有下列性質數的個數 包含輸入的正整數 n 先輸入乙個正整數 n 0n 1000 然後對此正整數按照如下方法進行處理 不作任何處理 在它的左邊加上乙個正整數,但該正整數不能超過原數的一半 加上數後,繼續按此規則進行處理,直到不能再加正整數為止。1個正整數 n n 1000 1 個...
P1028 NOIP2001 普及組 數的計算
題目描述 我們要求找出具有下列性質數的個數 包含輸入的正整數 nn 先輸入乙個正整數 nn n le 1000n 1000 然後對此正整數按照如下方法進行處理 1.不作任何處理 2.在它的左邊加上乙個正整數,但該正整數不能超過原數的一半 3.加上數後,繼續按此規則進行處理,直到不能再加正整數為止。輸...
P1028 NOIP2001 普及組 數的計算
題目描述 我們要求找出具有下列性質數的個數 包含輸入的正整數 n 先輸入乙個正整數 n n 1000 然後對此正整數按照如下方法進行處理 1.不作任何處理 2.在它的左邊加上乙個正整數,但該正整數不能超過原數的一半 3.加上數後,繼續按此規則進行處理,直到不能再加正整數為止。輸入格式 1 個正整數 ...