Redian新闻
>
【灌水】数学大帝小时候 (转载)
avatar
G*7
2
【 以下文字转载自 CS 讨论区 】
发信人: PharmD (夜里发呆), 信区: CS
标 题: 【灌水】数学大帝小时候
发信站: BBS 未名空间站 (Wed Sep 19 10:26:28 2012, 美东)
1785年,8岁的高斯在德国农村的一所小学里念一年级。
学校的老师是城里来的。他有一个偏见,总觉得农村的孩子不如城市的孩子聪明伶俐。
不过,他对孩子们的学习,还是严格要求的。他最讨厌在课堂上不专心听讲、爱做小动
作的学生,常常用鞭子敲打他们。孩子们倒爱听他的课,因为他经常讲一些非常有趣的
东西。
有一天,他出了一道算术题。他说:“你们算一算,1加2加3,一直加到100等于多少?
谁算不出来,就不准回家吃饭。” 说完,他就坐在椅子上,用目光巡视着趴在桌上演
算的学生。
不到一分钟的工夫,小高斯站了起来,手里举着小石板,说:“老师,我算出来了....
..”
没等小高斯说完,老师就不耐烦的说:“不对!重新再算!”
小高斯很快的检查了一遍,高声说:“老师,没错!”说着走下座位,把小石板伸到老
师面前。
老师低头一看,只见上面端端正正的写着正确答案,不禁大吃一惊。他简直不敢相信,
这样复杂的数学题,一个8岁的孩子,用不到一分钟的时间就算出了正确的得数。要知
道,他自己算了一个多小时,算了三遍才把这道题算对的。
只见小高斯的石板上工工整整地写着:
#include
using namespace std;
void main() {
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
}
cout << sum << endl;
}
老师抡圆了就给了小高斯一个大嘴巴。
“又他妈的void,谁他妈的教你main()返回void的!这么小就不学好!”
avatar
x*8
3
青青老师的教程真仔细啊,看完俺这个花盲也可以种玫瑰了。:)
avatar
m*r
4
J点?
avatar
o*n
5
完全同意楼上意见,原来老师名字叫青青。
avatar
z*9
6
最后

【在 m*******r 的大作中提到】
: J点?
avatar
g*u
7
这玫瑰养的真好,养眼!
avatar
h*4
8
高斯大神肿么可以写i++呢 一定是假的

【在 G*****7 的大作中提到】
: 【 以下文字转载自 CS 讨论区 】
: 发信人: PharmD (夜里发呆), 信区: CS
: 标 题: 【灌水】数学大帝小时候
: 发信站: BBS 未名空间站 (Wed Sep 19 10:26:28 2012, 美东)
: 1785年,8岁的高斯在德国农村的一所小学里念一年级。
: 学校的老师是城里来的。他有一个偏见,总觉得农村的孩子不如城市的孩子聪明伶俐。
: 不过,他对孩子们的学习,还是严格要求的。他最讨厌在课堂上不专心听讲、爱做小动
: 作的学生,常常用鞭子敲打他们。孩子们倒爱听他的课,因为他经常讲一些非常有趣的
: 东西。
: 有一天,他出了一道算术题。他说:“你们算一算,1加2加3,一直加到100等于多少?

avatar
C*g
9
FarmD是什么?农业博士?
avatar
a*w
10
楼主不知道高斯是用乘法算的。

【在 m*******r 的大作中提到】
: J点?
avatar
g*n
11
码工都不会乘法吧,天天用i++,++i.

【在 a*w 的大作中提到】
: 楼主不知道高斯是用乘法算的。
avatar
a*w
12
毕业了去墙街的叫矿工,去编程的叫码农。
FarmD是generic的,还没找到工作。
PharmD是药学博士。

【在 C****g 的大作中提到】
: FarmD是什么?农业博士?
avatar
a*w
13
码农用 i++,码工用 ++i。

【在 g******n 的大作中提到】
: 码工都不会乘法吧,天天用i++,++i.
avatar
g*n
14
反正会掰着手指头脚趾头数数就行了。

【在 a*w 的大作中提到】
: 码农用 i++,码工用 ++i。
avatar
p*w
15
for 循环里面无所谓的

【在 a*w 的大作中提到】
: 码农用 i++,码工用 ++i。
avatar
c*y
16
呵呵。

【在 p*********w 的大作中提到】
: for 循环里面无所谓的
avatar
d*e
17
I think this is old case. Today's compiler will optimise this.

【在 a*w 的大作中提到】
: 码农用 i++,码工用 ++i。
avatar
G*7
18
码农用 i++,
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
};
码工用
std::accumulate(boost::counting_iterator(1),
boost::counting_iterator(101),
0);
avatar
a*w
19
perl: eval join '+', (1..100)
python: sum(range(1, 100))
ruby: (1..100).inject(:+)
scale: (1 to 100).sum

【在 G*****7 的大作中提到】
: 码农用 i++,
: int sum = 0;
: for (int i = 1; i <= 100; i++) {
: sum += i;
: };
: 码工用
: std::accumulate(boost::counting_iterator(1),
: boost::counting_iterator(101),
: 0);

avatar
G*7
20
sum(1:100)
Cordially,
MATLAB

【在 a*w 的大作中提到】
: perl: eval join '+', (1..100)
: python: sum(range(1, 100))
: ruby: (1..100).inject(:+)
: scale: (1 to 100).sum

avatar
H*g
21
(1+100)*100/2
谢谢
avatar
w*e
22
大家小时候都是怎么算的?我小时候的算法是先算1+2+3+..9,然后用这个结果来简化
尾数的相加。比如11+12+13+...19=10*10+1+2+3+...9
avatar
R*a
23
第一看到这个问题就是高斯的解

【在 w********e 的大作中提到】
: 大家小时候都是怎么算的?我小时候的算法是先算1+2+3+..9,然后用这个结果来简化
: 尾数的相加。比如11+12+13+...19=10*10+1+2+3+...9

avatar
k*2
24
C++的创始人算啥?估计整个mitbbs没有一个人敢说比他C++编程更牛吧。
我只知道他的for loop里i++和++i混着用,

【在 a*w 的大作中提到】
: 码农用 i++,码工用 ++i。
avatar
z*n
25
不一定啊,就好比做砖的人未必盖房子就厉害啊

【在 k*******2 的大作中提到】
: C++的创始人算啥?估计整个mitbbs没有一个人敢说比他C++编程更牛吧。
: 我只知道他的for loop里i++和++i混着用,

avatar
k*2
26
呵呵,你肯定是没看过他写的那本C++的书才这么说

【在 z*********n 的大作中提到】
: 不一定啊,就好比做砖的人未必盖房子就厉害啊
avatar
a*a
27
c++ 做成现在这个鸟样子,他罪过可不轻
其实带类的c足够了,剩下的都是over design,尤其是什么新的lambda 算子特性之类的

【在 k*******2 的大作中提到】
: 呵呵,你肯定是没看过他写的那本C++的书才这么说
avatar
z*n
28
我只是从原理上说不一定,没说事实上他是不是c++最牛的

【在 k*******2 的大作中提到】
: 呵呵,你肯定是没看过他写的那本C++的书才这么说
avatar
N*m
29
那当你什么都没说!

【在 z*********n 的大作中提到】
: 我只是从原理上说不一定,没说事实上他是不是c++最牛的
avatar
N*m
30
这叫与世俱进!

【在 a****a 的大作中提到】
: c++ 做成现在这个鸟样子,他罪过可不轻
: 其实带类的c足够了,剩下的都是over design,尤其是什么新的lambda 算子特性之类的

avatar
G*7
31
one could specialize std::accumulate for boost::counting_iter
and teach the compiler to do this.

【在 H********g 的大作中提到】
: (1+100)*100/2
: 谢谢

avatar
k*2
32
原理上你是对的。。。

【在 z*********n 的大作中提到】
: 我只是从原理上说不一定,没说事实上他是不是c++最牛的
avatar
k*2
33
恩,lambda是有点儿蛋疼。。。

【在 a****a 的大作中提到】
: c++ 做成现在这个鸟样子,他罪过可不轻
: 其实带类的c足够了,剩下的都是over design,尤其是什么新的lambda 算子特性之类的

avatar
G*7
34
in what way? don't you find lambda better than functors?

【在 k*******2 的大作中提到】
: 恩,lambda是有点儿蛋疼。。。
avatar
s*y
35
当成一个梯形,直接把首尾相加,然后除于高度。

【在 w********e 的大作中提到】
: 大家小时候都是怎么算的?我小时候的算法是先算1+2+3+..9,然后用这个结果来简化
: 尾数的相加。比如11+12+13+...19=10*10+1+2+3+...9

avatar
k*i
36
最简单的方法显然是手机上买买提找面经啊
avatar
t*a
37
高斯大神当然上LISP, HASKELL或者FACTOR之类
(apply + (range 1 101))
avatar
v*n
38
这个我不得不Re一下了。。。

【在 G*****7 的大作中提到】
: in what way? don't you find lambda better than functors?
avatar
h*s
39
haha nb~~

【在 v******n 的大作中提到】
: 这个我不得不Re一下了。。。
avatar
a9
40
码神用
printf("=%d",5050);

【在 G*****7 的大作中提到】
: 码农用 i++,
: int sum = 0;
: for (int i = 1; i <= 100; i++) {
: sum += i;
: };
: 码工用
: std::accumulate(boost::counting_iterator(1),
: boost::counting_iterator(101),
: 0);

avatar
w*e
41
看来码神真够真够纡的。直接朝老师吼一声“5050”不就得了?还用得着找电脑,打开
编辑器,写码,编译,执行?

【在 a9 的大作中提到】
: 码神用
: printf("=%d",5050);

avatar
G*7
42
your 码神 is not generic, which is the holly grail for both mathematicians
and devs.
the 码神 in my mind
would write a generic, lazy-evaluation based, expression template version of
sum, such that the sum of any arithmetic sequence would be evaluated using
the shortcut (first+last)*num_elem/2, while the sum over any other sequence
is performed through vectorized (and possibly OpenMP paralleled) element-by-
element summation.
this possibly involved overloaded comma operator and boost::counting
iterator.
cout << 1+,_arithmatic,+100 << endl; // prints 5050 by (1+100)*100/2

【在 a9 的大作中提到】
: 码神用
: printf("=%d",5050);

avatar
k*i
43
Nice!

of
using
sequence
by-

【在 G*****7 的大作中提到】
: your 码神 is not generic, which is the holly grail for both mathematicians
: and devs.
: the 码神 in my mind
: would write a generic, lazy-evaluation based, expression template version of
: sum, such that the sum of any arithmetic sequence would be evaluated using
: the shortcut (first+last)*num_elem/2, while the sum over any other sequence
: is performed through vectorized (and possibly OpenMP paralleled) element-by-
: element summation.
: this possibly involved overloaded comma operator and boost::counting
: iterator.

avatar
m*n
44

sum(xrange(1, 101))

【在 a*w 的大作中提到】
: perl: eval join '+', (1..100)
: python: sum(range(1, 100))
: ruby: (1..100).inject(:+)
: scale: (1 to 100).sum

avatar
b*n
45
原来肚皮舞有这么多码农
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。