求1/1!+1/2!+1/3!+...+1/n!……感触颇深
这个有来头的,上学时候刚学过c语言开始学习数据结构的第一堂课,老师就出了这样一个题:
用编程实现:1/1!+1/2!+1/3!+...+1/n!
然后我心想这不简单吗!
float s=0;
for (int i=1;i<=34;i++)
{
int k=1;
for (int j=1; j<=i; j++)
k*=j;
s+=1/k;
}
当我扬扬得意时老师在黑板这样写了他的代码:for (int i=1;i<=34;i++)
{
int k=1;
for (int j=1; j<=i; j++)
k*=j;
s+=1/k;
}
float s=1;
for (int i=2,j=1; i<=10; i++)
{
j=i*j;
s+=1/j;
}
天天天天天天天天啊,当时我无比的羞愧。他一个循环而我要两个循环,重复做了很多的事。从哪一刻我体会到编程有很多的奥妙很多的技巧,需要我去学习的还有很多。从中我得出:编程时要让程序尽可能少的去做相同的工作。
for (int i=2,j=1; i<=10; i++)
{
j=i*j;
s+=1/j;
}
作者:Rick Carter
出处:http://pains.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。