[2001年NOIP普及组] 数的计算
算法分析:一个数可分为自身(+1)和自身除以2的数所带的次数,适合用递推从前往后推,比如说4可以分为2和1和自身所带表的数相加
1
2 12
3 13
414 24 124
注意:自身也要加1,若不足3直接输出
#include<bits/stdc++.h>
using namespace std;
int a[1009]={1,1,2,2};
int js(int n){
	int i=3;
	if(n==1) return 1;
	if(n==2||n==3) return 2;//若不足直接输出 
	while(1){
		i++;
		for(int j=0;j<=i/2;j++){
			a[i]=a[i]+a[j];
		}//注意自身也要加1 
		if(i==n){
			return a[i];
		}
	}
}
int main(){
	int s;
	cin>>s;
	cout<<js(s);
} 
 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号