/*理解题意后,发现最后剩下的都是个数并不是和奇数偶数等有直接的关系,所以我们直接从数量入手
比如11会被分为5,6.5再分2,3.6再分3,3只要剩下三个就算一种,少于三个不用算。大于3个继续分
很简单,这里循环处理还涉及到分支循环,类似于二叉树。这种情况明显用递归
*/
#include<string.h>
#include<stdio.h>
int zb(int);
int main(int argc, char* argv[])
{ int n,i,count;
while(scanf("%d",&n)!=EOF)
{
count=zb(n);
printf("%d\n",count);
} return ;
}
int zb(int n)
{
if(n==)/*终止条件*/
return ;
else if(n<)
return ;
else
{
if(n%==)/*分支递归*/
{
return zb(n/)+zb((n+)/);
}
else
{
return zb(n/)*;
}
}
}
相关文章
- 简单概率dp(期望)-zoj-3640-Help Me Escape
- ZOJ-3380 Patchouli’s Spell Cards DP, 组合计数
- zoj 3716 Ribbon Gymnastics (思维数学题)
- ZOJ1372 POJ 1287 Networking 网络设计 Kruskal算法
- hdu1423LCIS zoj2432 必须掌握!
- 【动态规划】POJ 1161 & ZOJ1463 & XMU 1033 Brackets sequence
- Most Powerful(ZOJ 3471状压dp)
- 【zoj3254】Secret Code
- POJ 2418 ,ZOJ 1899 Hardwood Species - from lanshui_Yang
- ZOJ 2974 矩阵快速幂