fjnu 1757 找i个连续自然数累加为N
来源:互联网 发布:创维21d9bh数据下载 编辑:程序博客网 时间:2024/05/18 02:13
Description
输入一个数字N,找出i个连续自然数累加为N的所有和式(i>1)。
Input
整数N
Output
N=i个连续自然数累加和式。多解时每个式子占一行,按i从大到小的顺序输出
Sample Input
15
Sample Output
15=1+2+3+4+515=4+5+615=7+8
KEY:硬搜,慢慢来
Source:
#include<iostream>
using namespace std;
int N;
int t1,t2;
int isAdd(int s)
...{
int i;
int sum=0;
for(i=s;i<=N;i++)
...{
sum+=i;
if(sum==N) return i;
if(sum>N) return 0;
}
return 0;
}
void output(int s,int e)
...{
cout<<N<<"=";
int i;
for(i=s;i<e;i++)
cout<<i<<"+";
cout<<i<<endl;
}
void fun()
...{
int i;
for(i=1;i<N;i++)
...{
int t=isAdd(i);
if(t==0) continue;
else
...{
t1=i;
t2=t;
output(t1,t2);
}
}
}
int main()
...{
cin>>N;
fun();
return 0;
}
#include<iostream>
using namespace std;
int N;
int t1,t2;
int isAdd(int s)
...{
int i;
int sum=0;
for(i=s;i<=N;i++)
...{
sum+=i;
if(sum==N) return i;
if(sum>N) return 0;
}
return 0;
}
void output(int s,int e)
...{
cout<<N<<"=";
int i;
for(i=s;i<e;i++)
cout<<i<<"+";
cout<<i<<endl;
}
void fun()
...{
int i;
for(i=1;i<N;i++)
...{
int t=isAdd(i);
if(t==0) continue;
else
...{
t1=i;
t2=t;
output(t1,t2);
}
}
}
int main()
...{
cin>>N;
fun();
return 0;
}
- fjnu 1757 找i个连续自然数累加为N
- 1757找i个连续自然数累加为N
- 找i个连续自然数累加为N
- 和为n的连续自然数序列
- 输出和为n的所有的连续自然数序列
- 和为n的连续自然数序列(转)
- 给定无序自然数数组,求最大连续自然数个数,时间复杂度为O(n)
- 给定无序自然数数组,求最大连续自然数个数,时间复杂度为O(n)
- 蓝桥杯 C++ 输入一个自然数n,n的立方等于n 个连续的奇数和
- 输入一自然数n,求组成n3的n个连续奇数
- 算法小题一(论证任何自然数的n次方等于n个连续基数之和)
- 算法小题一(论证任何自然数的n次方等于n个连续基数之和)
- 正整数分解为n个连续正整数
- 编程之美2.21 什么样的数不能写成连续N个自然数之和
- WOJ1088-从1开始的N个连续自然数的M次方之和
- 任意自然数分解为连续自然数和问题
- 整数拆分为连续自然数之和
- 整数拆分为连续自然数之和
- 读书与听书:我的2007年度非工作盘点
- [多图]科技公司的Logo演变
- FOXPRO在三峡工程信息管理中的应用
- OpenID 得到Microsoft、Google、Yahoo! 、IBM、VeriSign 支持, 前景看好
- 用VB实现聊天讨论室和点对点会话
- fjnu 1757 找i个连续自然数累加为N
- 商人的账本
- fjnu 1859 Golf
- fjnu 1768 整数集合分解
- fjnu 1767 相等元素问题
- fjnu 1764 求前k小元素问题
- fjnu 1703 Keep on Truckin'
- fjnu 1532 Jolly Jumpers
- fjnu 1444 乒乓球