タイトルの説明
次のプロパティの数を確認してください(入力された正の整数nnを含む)。
最初に正の整数nn(n \le1000n≤1000)を入力してから、この正の整数を次のように処理します。
何もしない
左側に正の整数を追加しますが、正の整数は元の数値の半分を超えることはできません。
数値を追加した後、正の整数を追加できなくなるまで、このルールに従って処理を続行します。
入力形式
11の正の整数nn(n \le1000n≤1000)
出力形式は
11個の整数で、このプロパティを持つ数値の数を表します。
入出力サンプル
入力#1コピー
6
出力#1コピー
6
説明/プロンプト
条件を満たす番号は
6、16、26、126、36、136
【対象ソース】
NOIP2001ユニバーサルグループ質問1
再帰的に法を見つける
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define INF 0x3f3f3f3f
int f[1005];
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=i/2;j++){
f[i]+=f[j];
}
f[i]++;
}
cout<<f[n];
return 0;
}