编程练习:1+2-3+4+5-6+7+8-9+10+.....+100
本帖最后由 lustalen 于 2010-3-5 15:09 编辑题目:写一个程序,求出1+2-3+4+5-6+7+8-9+10+.....+100的值,语言不限。
这是我前些天出的一道面试题,居然有3个面试的程序员做不出来。贴上来给编程新手练习一下,高手就不用练了,呵呵。:lol #include <iostream>
int main(){
int x,y = 0;
for (x = 0;x <=100;++x) {
if (x%3){
y += x;
}else{
y -= x;
}
}
std::cout << y << std::endl;
}
楼主放个答案吧,都不知道算的对不 高手过招,占位观看…… :rggrg这个还有3个人做不出来 很简单的一个小题
VB编码如下
Private Sub Command1_Click()
Dim x, y
For x = 1 To 100
y = y + x
Next x
Command1.Caption = y
End Sub .版本 2
.程序集 窗口程序集1
.程序集变量 变量, 整数型
.程序集变量 计数, 整数型
.子程序 _按钮1_被单击
.判断循环首 (变量 ≤ 100)
变量 = 变量 + 1
计数 = 计数 + 变量
.判断循环尾 ()
编辑框1.加入文本 (到文本 (计数))
————————————————————
晕死图片不会发 新手刚学c++,不怎么会,来点猥琐的:$qqq
#include <iostream>
using namespace std;
int main()
{
int a=0,b=0,c;
for(int i=0;i<=100;i++)
a+=i;
for(int j=0;j<=100;j+=3)
b+=j;
c=a-2*b;
cout<<"1+2-3+4+5-6+7+8-9+10+.....+100="<<c<<endl;
return 0;
}
二楼的代码很巧妙 cout<<"1+2-3+4+5-6+7+8-9+10+.....+100="<<(1+100)*100/2-2*(3+99)*33/2<<endl; :funk:eweqw,我像在看天书。。。菜鸟别见怪
2
本帖最后由 roxiel 于 2010-3-10 16:39 编辑int sum=0;
for(int i=0;i<97;i+=3)
{
sum+=i;
}
cout<<sum+100<<endl;
这个我写脑残了,光顾着排列了,最后是小于97。。。。
思路:
1+2-3 0
4+5-6 3
7+8-9 6
10+11-12 9
。。。
97+98-99 96
int sum=0;
for(int i=1;i<100;i+=6)
{
sum=sum+i*2+1;
}
cout<<sum+1<<endl;
这个没错
:
1+2-3+4+5-6 =1+2+1-1
7 +8- 9+10+11-12 = 7+8+1-1
。。。
97+98 97+98
-99+100