luogu P1028 [NOIP2001普及グループ]数の計算

P1028

タイトルの説明
次のプロパティの数を確認してください(入力された正の整数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;
	
}

おすすめ

転載: blog.csdn.net/Minelois/article/details/113854870