您的位置:首页 > 其它

判断数字是否可有连续数字和组成

2013-07-16 17:33 253 查看
 

#include<iostream>
using namespace std;

void comprise(int n)
{
int flag = -1;
for(int i = 1;i <= n-1;i++)
{
int maxtimes = n/i;
for(int j = 2;j <= maxtimes;j++)
{
if(n == (2*i+j-1)*j/2)
{
cout<<n<<"=";
flag = 1;
int p = i;
while(p < i+j-1)
{
cout<<p<<"+";
p++;
}
cout<<p<<endl;
}
}
}
if(flag == -1)
{
cout<<"数字"<<n<<"不能由连续数字和组成"<<endl;
}
}

void main()
{
for(int i = 10;i <= 30;i++)
comprise(i);
}

/*
10=1+2+3+4
11=5+6
12=3+4+5
13=6+7
14=2+3+4+5
15=1+2+3+4+5
15=4+5+6
15=7+8
数字16不能由连续数字和组成
17=8+9
18=3+4+5+6
18=5+6+7
19=9+10
20=2+3+4+5+6
21=1+2+3+4+5+6
21=6+7+8
21=10+11
22=4+5+6+7
23=11+12
24=7+8+9
25=3+4+5+6+7
25=12+13
26=5+6+7+8
27=2+3+4+5+6+7
27=8+9+10
27=13+14
28=1+2+3+4+5+6+7
29=14+15
30=4+5+6+7+8
30=6+7+8+9
30=9+10+11
*/

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐