1955-计算机基础知识大赛 2
2013-11-23 09:54
274 查看
描述
如果一个自然数n能写写成若干个连续自然数之和,则称其为自然数n的一个“分拆”。
如9=4+5,9=2+3+4,我们就说“4+5”与“2+3+4”是9的两个“分拆”。
编程求出任意数n的所有“分拆”。
输入
输入数据包含多组样例,每组样例包含一个自然数n。
输出
对于每组样例,列出所有可能分拆(按字典序,每行一种可能分拆,行内个数字以空格隔开),没有则输出 none。
样例输入
9
2
样例输出
2 3 4
4 5
none
如果一个自然数n能写写成若干个连续自然数之和,则称其为自然数n的一个“分拆”。
如9=4+5,9=2+3+4,我们就说“4+5”与“2+3+4”是9的两个“分拆”。
编程求出任意数n的所有“分拆”。
输入
输入数据包含多组样例,每组样例包含一个自然数n。
输出
对于每组样例,列出所有可能分拆(按字典序,每行一种可能分拆,行内个数字以空格隔开),没有则输出 none。
样例输入
9
2
样例输出
2 3 4
4 5
none
#include<iostream> using namespace std; void put(int a,int b) { int k; for(k=a;k<b;k++) cout<<k<<" "; cout<<b<<endl; } int main() { int n; while(cin>>n) { int m,i,j,f; f=0; for(i=1;i<n;i++) { m=0; for(j=i;j<n;j++) { m=m+j; if(m==n) { put(i,j); f=1; break; } if(m>n) break; } } if(f==0) cout<<"none"<<endl; } return 0; }
相关文章推荐
- 南邮 OJ 1955 计算机基础知识大赛 2
- 南邮NOJ 计算机基础知识大赛4
- 1954-计算机基础知识大赛 1
- 1956-计算机基础知识大赛 3
- 1957-计算机基础知识大赛 4
- 1958-计算机基础知识大赛 5
- 1959-计算机基础知识大赛 6
- 1961-计算机基础知识大赛 2 (new)
- 南邮 OJ 1956 计算机基础知识大赛 3
- 南邮 OJ 1957 计算机基础知识大赛 4
- 南邮 OJ 1958 计算机基础知识大赛 5
- 南邮 OJ 1959 计算机基础知识大赛 6
- 南邮 OJ 1960 计算机基础知识大赛 7
- 南邮 OJ 1961 计算机基础知识大赛 2 (new)
- 计算机硬件基础知识
- 基础的计算机网络知识
- linux基础知识:计算机硬件
- 计算机基础知识及编程资源
- 计算机网络基础知识总结
- 计算机10大基础知识点(一)