C++不用循环计算1+2+3+……+N

lx3275852 2011-03-11 12:09:12
题目:用C++计算1+2+3+……N
条件:
1.不使用任何循环语句。(for,while,goto等等)
2.不使用任何条件语句。(if,?:等等)
3.不使用*/等运算,只使用+-运算

本人的方法太麻烦,要用到模板,枚举。
希望来点简单的方法!~3Q
...全文
1503 42 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
42 条回复
切换为时间正序
请发表友善的回复…
发表回复
逍遥宇外 2011-07-14
  • 打赏
  • 举报
回复
这答案真高
Ghoststears 2011-03-11
  • 打赏
  • 举报
回复
http://coolshell.cn/articles/3445.html

看这个。
we_sky2008 2011-03-11
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 w0911h 的回复:]
此题考递归和一些小技巧

C/C++ code

int func(int n)
{
int t = 0;

n && (t = func(n-1)+n);

return t;
}
[/Quote]
这个不错,呵呵!
w0911h 2011-03-11
  • 打赏
  • 举报
回复
此题考递归和一些小技巧

int func(int n)
{
int t = 0;

n && (t = func(n-1)+n);

return t;
}
we_sky2008 2011-03-11
  • 打赏
  • 举报
回复
9楼给出了使用类模板的例子,下面是使用函数模板的例子:

#include <iostream>

using namespace std;

template<int N>
int sum()
{
return N + sum<N - 1>();
}

template<>
int sum<1>()
{
return 1;
}

int main()
{
cout<<sum<10>()<<endl;

system("pause");
return 0;
}

守猪待屠 2011-03-11
  • 打赏
  • 举报
回复
楼主。算法课的作业?
wei801516 2011-03-11
  • 打赏
  • 举报
回复
Sn=n(a1+an)/2
Csuxiaowu 2011-03-11
  • 打赏
  • 举报
回复
#include <iostream>
using namespace std;
template < int N >
struct Sum
{
enum { val = N + Sum< N - 1 >::val };
};
template <>
struct Sum< 1 >
{
enum{ val = 1 };
};
int main()
{
cout << Sum< 10 >::val << endl;
return 0;
}
zhengjiankang 2011-03-11
  • 打赏
  • 举报
回复
莫非楼主用模板元?
Meteor_Code 2011-03-11
  • 打赏
  • 举报
回复
首项与末项之和乘以项数,除以2
bdmh 2011-03-11
  • 打赏
  • 举报
回复

int a=1;
int b=100;
int c = (a+b)*100/2;
無_1024 2011-03-11
  • 打赏
  • 举报
回复
利用数学公式 等差数列求和
sxldfang 2011-03-11
  • 打赏
  • 举报
回复
=(上底+下底)*高/2

=(1+n)*n/2
bdmh 2011-03-11
  • 打赏
  • 举报
回复
等差数列公式
lx3275852 2011-03-11
  • 打赏
  • 举报
回复
非数学 是C++,真的不是数学,就是看C++类的使用应该是
Csuxiaowu 2011-03-11
  • 打赏
  • 举报
回复
数学。。
fycom200 2011-03-11
  • 打赏
  • 举报
回复
这不就是递归吗?
话说实际应用我还没用过递归
zmkkobe 2011-03-11
  • 打赏
  • 举报
回复
递归的内容,呵呵
武稀松 2011-03-11
  • 打赏
  • 举报
回复
int sum0_N(int n)
{
if(0 == n)
return 0;
return n + sum0_N(n - 1);
}
zuoguodang 2011-03-11
  • 打赏
  • 举报
回复
用递归,使用三元表达式算不算
加载更多回复(20)

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧