#include<iostream>
using std::cout;
using std::endl;
void output(int const a,int const b)
{
cout<<a<<"~"<<b<<endl;
}
bool getanser(int const sum)
{
bool bFind=false;
int mid=(sum+1)/2;
int a=1,b=2,s=3;
while (b<=mid) {
while(s>sum){
s-=a;
++a;
if (s==sum){
bFind=true;
output(a,b);
}
}
++b;
s+=b;
if (s==sum){
bFind=true;
output(a,b);
}
}
return bFind;
}
int main()
{
int sum;
cin>>sum;
getanser(sum);
}#include<iostream>
using namespace std;
void output(int const a,int const b)
{
cout<<a<<"~"<<b<<endl;
}
bool getanser(int const sum)
{
bool bFind=false;
int mid=(sum+1)/2;
int a=1,b=2,s=3;
while (b<=mid) {
while(s>sum){
s-=a;
++a;
if (s==sum){
bFind=true;
output(a,b);
}
}
++b;
s+=b;
if (s==sum){
bFind=true;
output(a,b);
}
}
return bFind;
}
int main()
{
int sum;
cin>>sum;
getanser(sum);
}
本文介绍了一个C++程序,该程序用于判断一个给定的整数是否可以由连续的整数之和来表达,并输出这些连续整数。通过两个主要函数实现:output函数负责输出结果,getanser函数负责查找连续整数。
4235

被折叠的 条评论
为什么被折叠?



