Project Euler:Problem 76 Counting summations
2015-07-18 16:46
447 查看
It is possible to write five as a sum in exactly six different ways:
4 + 1
3 + 2
3 + 1 + 1
2 + 2 + 1
2 + 1 + 1 + 1
1 + 1 + 1 + 1 + 1
How many different ways can one hundred be written as a sum of at least two positive integers?
4 + 1
3 + 2
3 + 1 + 1
2 + 2 + 1
2 + 1 + 1 + 1
1 + 1 + 1 + 1 + 1
How many different ways can one hundred be written as a sum of at least two positive integers?
#include <iostream> using namespace std; int c = 0;//累划分数 void p(int n, int a[], int m)//m表示每一种划分的加数的个数 { int i; if (n == 0) { c++; //int i; //for (i = 0; i < m - 1; i++) // cout << a[i] << "+"; //cout << a[m - 1] << endl; } else for (i = n; i >= 1; i--) { if (m == 0 || i <= a[m - 1])//要保证下一个划分因子不大于上一个划分因子 { a[m] = i; p(n - i, a, m + 1); } } } void main(void) { int n; int a[200] = { 0 };//存储整数n的划分 printf("输入要被划分的整数: "); cin >> n; p(n, a, 0); cout << "整数" << n << "的划分数是:" << c-1 << "种。" << endl; system("pause"); }
相关文章推荐
- VC 获取任务栏窗口的句柄
- 计算机意外地重新启动或遇到错误。Windows 安装无法继续。若要安装Windows,请单击“确定”重新启动计算机,然后重新启动安装”。
- 用Maven整合SpringMVC+Spring+Hibernate 框架
- MySQL学习笔记——增删改查
- android view构造函数研究
- REdis数据结构服务器
- [转]java-Three Rules for Effective Exception Handling
- <转>提高iOS开发效率的方法和工具
- Memcached入门一
- 【暑假】[ 图论 ] MST、最短路总结
- 第三方登录之微信登录
- 【Cocos2d-x】CCArray
- mmseg 增加词库
- SSH Secure Shell Client用pub key认证登录linux
- OC学习笔记之OC内存管理
- android中Handler的源码分析
- 常用算法集锦
- 字典转model类、封装(OC中)
- 树状数组
- 黑马程序员——IO流(下)