作业帮 > 综合 > 作业

编程计算 S=1+2+4+8、、、、、、、、、 (100项) 用汇编或C语言 选什么数据类型呀?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/11 05:23:54
编程计算 S=1+2+4+8、、、、、、、、、 (100项) 用汇编或C语言 选什么数据类型呀?
根据等比数列前n项和公式估算S的数量级:
S=2的100次方减1,即 (2的十次方)的十次方
约等于1000的十次方,即 10的30次方.
用什么数据类型可以保存如此大的S?
s定义成double就可以了
#include
#include
int main()
{
double s=0;
int i;
for( i=0;i
再问: 老师曾举过这样的例子:编程计算 s=从1加到1000 。后来表扬了直接用(1000+1)×1000/2 计算S的方法,说这个方法比较有效.。说直接调用乘法的话,因为C语言中的乘法,早在设计C语言时设计者就做了最好的优化,比我们编的同规模的运算要快得多。那依照老师的这个思路,是不是我这个题目编程就直接 main(){ int n; scanf("%d",&n); printf("The result is: %d times of 2 substract 1.\n",n);} 就可以了。
再答: 呵呵,采用什么方法,需要根据实际情况来确定,如果我们是为了求得数,当然是采用最直接、最快速的算法和方法。 如果,我们是为了练习循环操作,了解整个计算过程,了解编程语言运行的特点,就要按步就班的做了。 #include #include int main() { double s=0; printf("input n :" ); scanf("%d",&n); printf("The result is: %d times of 2 substract 1=%lf.\n",n,pow(2,n)-1); return 0; }