求1!+2!+·····10!

#include<stdio.h>

int main()

{

int i = 0, sum = 0, n = 1,tmp=1;

for (n = 1; n < 11; n++)

{

tmp = 1;

for (i = 1; i <= n; i++)

{

tmp *= i;

}

sum += tmp;

}

printf("%d\n", sum);

system("pause");

return 0;

}

这个代码很罗嗦  非常不好

可以优化为

#include<stdio.h>

int main()

{

int i = 0, sum = 0, n = 1,tmp=1;

for (n = 1; n < 4; n++)

{

tmp *= n;

sum += tmp;

}

printf("%d\n", sum);

system("pause");

return 0;

}

时间: 2025-01-04 07:56:22

求1!+2!+·····10!的相关文章

IO-03. 求整数均值(10)

IO-03. 求整数均值(10) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 乔林(清华大学) 本题要求编写程序,计算4个整数的和与平均值.题目保证输入与输出均在整型范围内. 输入格式: 输入在一行中给出4个整数,其间以空格分隔. 输出格式: 在一行中按照格式“Sum = 和; Average = 平均值”顺序输出和与平均值,其中平均值精确到小数点后1位. 输入样例: 1 2 3 4 输出样例: Sum = 10; Avera

求球第10次落地时,共经过多少米?第10次反弹多高?

题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? 1 package com.li.FiftyAlgorthm; 2 3 /** 4 * 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下, 5 * 求它在 第10次落地时,共经过多少米?第10次反弹多高? 6 * @author yejin 7 */ 8 public class TreeFall { 9 static double height

C语言练习010:求1到10的阶乘之和

#include <stdio.h> int factorial(int n) { if(0==n) return 1; if(1==n) return 1; return n*factorial(n-1); } int main() { int n=10; int sum=0; int i; for(i=1;i<=n;i++){ int m=factorial(i); printf("%d->%d\n",i,m); sum+=m; } printf("

已知从BUF开始存放了10个字类型有符号数据,编程求出这10个数中的最大数和最小数(将最大数存入MAX字单元、最小数存入MIN字单元),并将其以10进制数的形式在屏幕上显示出来。

data segment pmax db 0dh,0ah , 'MAX : ','$' pmin db 0dh,0ah , 'MIN : ','$' buf dw 48,-2 ,49,50,30,-78,-88,-60,-1,48 max dw 99 min dw 20 data ends code segment assume cs:code , ds:data main proc far start: mov ax,data mov ds,ax call compare lea dx,pma

IO-03. 求整数均值

1 /** 2 *A3-IO-03. 求整数均值(10) 3 *C语言实现 4 *测试已通过 5 */ 6 7 #include "stdio.h" 8 9 int main() 10 { 11 int a,s,d,f; 12 13 scanf("%i %i %i %i",&a,&s,&d,&f); 14 printf("Sum = %i; Average = %.1f\n",(a+s+d+f),((a+s+d+f

杭电1711--Number Sequence(Kmp → → 利用Next数组求串在串中的位置)

Number Sequence Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 15068    Accepted Submission(s): 6606 Problem Description Given two sequences of numbers : a[1], a[2], ...... , a[N], and b[1], b

排序,求几个最值问题,输入n个整数,输出其中最小的k个元素。

看完两个求最大值算法之后的一些感想. 如果想直接看算法的可以跳过.但是我觉得我这些想法还是比较有用的,至少对我将来的算法设计是这样的. 算法的功能越强大,必然意味着速度慢,因为根据丛林法则,那种慢又功能少的算法会被淘汰. 所以,(注意了!!),如果我们在使用一个算法的时候感觉到它造成的结果满足我们的使用,而且超出了,我们的使用,那么我们就很可能浪费了时间,降低了效率. 例如这个1000个数中求最大的10个的算法: 如果排序,取前10个.发现后面的白排序了,根本没用到.参照加粗行,也许可以有更快的

一个文本文件,找出前10个经常出现的词,但这次文件比较长,说是上亿行或十亿行,总之无法一次读入内存

Top K 算法详解应用场景: 搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节.        假设目前有一千万个记录(这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个.一个查询串的重复度越高,说明查询它的用户越多,也就是越热门.),请你统计最热门的10个查询串,要求使用的内存不能超过1G. 必备知识:什么是哈希表?        哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进

R语言-找出向量或矩阵中的最大10个数

一.向量 最大10的数的索引(位置),可先按降序排序,得到索引号,然后将前10个取出即可. 建议方法: order(x,decreasing=TRUE)[1:10] 过程详解: 1.测试数据x > x [1] 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.09 0.20 0.09 0.08 0.14 0.14 0.23 [15] 0.08 0.06 0.12 0.20 0.14 0.11 0.20 0.14 0.17 0.15 0.18 0.15 0.20 0.12

(10)列表操作

# 创建一个列表    只要把逗号分隔的不同的数据项使用方括号括起来即可.如下所示:    list1 = ['physics', 'chemistry', 1997, 2000];    list2 = [1, 2, 3, 4, 5 ];    list3 = ["a", "b", "c", "d"];    # 拷贝一个列表    x = [7,5,3]    y = x[:]    这样y才会产生副本,不能用y=x,这样