网站开发需求描述,网站建设与网页设计从入门到精通 pdf,做视频免费模板下载网站,学习网站建设有前景没Description 任何大于 1 的自然数 n#xff0c;都可以写成若干个大于等于 2 #xff0c;且小于等于 n 的质数之和表达式(包括只有一个数构成的和表达式的情况)#xff0c;并且可能有不止一种质数和的形式。例如9 的质数和表达式就有四种本质不同的形式#xff1a; 9 …Description 任何大于 1 的自然数 n都可以写成若干个大于等于 2 且小于等于 n 的质数之和表达式(包括只有一个数构成的和表达式的情况)并且可能有不止一种质数和的形式。例如9 的质数和表达式就有四种本质不同的形式 9 252 2322 333 27 。 这里所谓两个本质相同的表达式是指可以通过交换其中一个表达式中参加和运算的各个数的位置而直接得到另一个表达式。 试编程求解自然数 n 可以写成多少种本质不同的质数和表达式。 Input每一行存放一个自然数 n , 2≤n≤200 Output 输出每一个自然数 n 的本质不同的质数和表达式的数目 Sample Input
1 Sample Output
1 解题思路
这道题TM一看就是方案数水的一匹。 代码
#includecstdio int f[201],n,s[47],k; int main() { scanf(%d,n); bool flag; for (int i2;in;i) { flagtrue; for (int j2;ji/2;j) if (i%j0) {flagfalse; break;} if (flag) { k; s[k]i; } }//筛1-n里的素数 f[0]1;//初始化 for (int i1;ik;i) if (s[i]n)//判断这个素数是否在1-n的范围内 //其实没必要╮(╯_╰)╭ for (int j0;jn-s[i];j) f[js[i]]f[j];//累加方案数 printf(%d,f[n]); }