首页 > 代码库 > 分解整数
分解整数
分解整数
Description
作为Acmer的你现在接到任务,需要将整数n写成n=x1+x2+…..xk这种形式,其中xi(i>=1&&i<=k)要为奇数。例如n=5,可以写成
5=1+1+1+1+1,5=1+1+3,5=1+3+1,5=3+1+1,5=5这5中形式,求出n有多少种分解方法
5=1+1+1+1+1,5=1+1+3,5=1+3+1,5=3+1+1,5=5这5中形式,求出n有多少种分解方法
Input
有多组输入,输入以文件结尾,每组输入一个整数n
Output
输出分解方案的种数
Sample Input
Original | Transformed |
4 5
Sample Output
Original | Transformed |
3 5
#include <stdio.h> int main(int argc, char *argv[]) { int n,a,b,k,l,r; while(scanf("%d",&n)!=EOF){ if(n==1) printf("1\n"); if(n==2) printf("1\n"); if(n>2){ a=1,b=1,k=n-2; while(k--){ l=a+b; r=a;a=b;b=r;b=l; } printf("%d\n",l); } } return 0; } /* 联想走楼梯; A8=A7+A5+A3+A1 A7=A6+A4+A2+1; */
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。