原题链接:蓝桥杯算法提高VIP-数的划分
解题思路:打表
注意事项:
参考代码:
#include<iostream>
#include<algorithm>
using namespace std;
long long res,n;
void dfs(int pre,int sum)
{
if(sum==n)
{
res++;
return ;
}
if(sum>n) return ;
for(int i=pre;i+sum<=n;i++)
{
dfs(i,sum+i);
}
}
int main(void)
{
/*
freopen("D:\\outputdemo","w",stdout);
for(int i=1;i<=100;i++)
{
n=i;
res=0;
dfs(1,0);
printf("a[%d]=%d;\n",i,res);
}
*/
int n,a[110];
cin>>n;
a[1]=1;
a[2]=2;
a[3]=3;
a[4]=5;
a[5]=7;
a[6]=11;
a[7]=15;
a[8]=22;
a[9]=30;
a[10]=42;
a[11]=56;
a[12]=77;
a[13]=101;
a[14]=135;
a[15]=176;
a[16]=231;
a[17]=297;
a[18]=385;
a[19]=490;
a[20]=627;
a[21]=792;
a[22]=1002;
a[23]=1255;
a[24]=1575;
a[25]=1958;
a[26]=2436;
a[27]=3010;
a[28]=3718;
a[29]=4565;
a[30]=5604;
a[31]=6842;
a[32]=8349;
a[33]=10143;
a[34]=12310;
a[35]=14883;
a[36]=17977;
a[37]=21637;
a[38]=26015;
a[39]=31185;
a[40]=37338;
a[41]=44583;
a[42]=53174;
a[43]=63261;
a[44]=75175;
a[45]=89134;
a[46]=105558;
a[47]=124754;
a[48]=147273;
a[49]=173525;
a[50]=204226;
a[51]=239943;
a[52]=281589;
a[53]=329931;
a[54]=386155;
a[55]=451276;
a[56]=526823;
a[57]=614154;
a[58]=715220;
a[59]=831820;
a[60]=966467;
a[61]=1121505;
a[62]=1300156;
a[63]=1505499;
a[64]=1741630;
a[65]=2012558;
a[66]=2323520;
a[67]=2679689;
a[68]=3087735;
a[69]=3554345;
a[70]=4087968;
a[71]=4697205;
a[72]=5392783;
a[73]=6185689;
a[74]=7089500;
a[75]=8118264;
a[76]=9289091;
a[77]=10619863;
a[78]=12132164;
a[79]=13848650;
a[80]=15796476;
a[81]=18004327;
a[82]=20506255;
a[83]=23338469;
a[84]=26543660;
a[85]=30167357;
a[86]=34262962;
a[87]=38887673;
a[88]=44108109;
a[89]=49995925;
a[90]=56634173;
a[91]=64112359;
a[92]=72533807;
a[93]=82010177;
a[94]=92669720;
a[95]=104651419;
a[96]=118114304;
a[97]=133230930;
a[98]=150198136;
a[99]=169229875;
a[100]=190569292;
cout<<a[n];
return 0;
}0.0分
7 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复