计算正整数的划分数
来源:互联网 发布:修改java环境变量 编辑:程序博客网 时间:2024/04/30 02:51
q:将一正整数表示成各种正整数之和的形式,可以写成的所有划分方式的总共数量叫做划分数,编程实现输出任意一个正整数的划分数。
采用递归方法,而关键在于写出递归函数。对于该题,如下:
div_int(intnum,int max_addnum) =
1, max_addnum== 1
div_int(num,num), max_addnum > num
div_int(num,num-1)+ 1, max_addnum == num
div_int(num,max_addnum-1)+ div_int(num-max_addnum,max_addnum) , others
代码如下:
#include <stdio.h>#include <stdlib.h>int div_int(int num,int max_addnum){ if(max_addnum == 1) return 1; if(max_addnum > num) return div_int(num,num); if(max_addnum == num) return (div_int(num,num-1) + 1); else return ( div_int(num,max_addnum-1) + div_int(num-max_addnum,max_addnum) );}int main(){ int num,ans; printf("please input the number:\n"); scanf("%d",&num); ans = div_int(num,num); printf("the huafenshu of %d is %d\n",num,ans); return 0;}
0 0
- 计算正整数的划分数
- 正整数n的划分数
- 计算正整数各位数的和---345
- 计算整数的划分数(递归)
- 正整数n的划分问题
- 正整数划分的另一种解法
- 正整数划分的另一种解法
- 计算和为给定数的连续正整数数列
- 给定两个正整数,计算这两个数的最小公倍数。
- 正整数的逆序数
- 给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。
- 给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。
- 数的划分
- 数的划分
- 数的划分问题
- 数的划分
- [NOIP2001]数的划分
- 数的划分
- 删除链表中重复的值
- 书名
- POJ 1755 Triathlon 判断不等式有解+半平面的交
- PB中一些技巧(非原创)
- Android笔记005_Android的mvc模式讲解
- 计算正整数的划分数
- windows之视频学习之win32不需要hPrevInstance参数原因
- line vty 0 4什么意思
- lua关于require和package.loaded常被忽略的故事
- poj - 3764 - The xor-longest Path(Trie)
- sap 调用函数'STATUS_TEXT_EDIT'读订单状态新发现(转) 2010-12-08 16:09:37
- ffmpeg支持rtmp出现问题
- N皇后问题
- hdu 4004 The Frog's Games (二分+贪心)