c语言:求n!从1到20的和

程序:

#include <stdio.h>

int main()

{

float s=0,t=1;

int n;

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

{

t=t*n;   //求n!

s=s+t;   //将各项累加

}

printf("%f\n",s);

return 0;

}

输出结果:

2561327455189073900.000000

时间: 2024-12-28 20:51:21

c语言:求n!从1到20的和的相关文章

C语言求质数的算法

前言 上次被出了一题质数的C语言求解题目(面试),当时用了最粗暴的算法,回来仔细参考资料,其实答案有很多种: 1,小学生版本: 判断 x 是否为质数,就从 2 一直算到 x-1. static rt_uint32_t array1[ARRAY_LEN]; void func1(void) { for (rt_uint32_t i = 1; i <= ARRAY_LEN; i++) { array1[i - 1] = 0; } rt_uint32_t x, y = 0, z = 0; rt_uin

2/1+3/2+5/3+8/5+13/8+…求出这个数列前20项的和

★有一个分数序列2/1+3/2+5/3+8/5+13/8+-求出这个数列前20项的和. #include<stdio.h> #include<stdlib.h> int main() { int i = 0; double x = 2.0, y = 1.0, z = 0.0; double sum = 0; for (i = 1; i <= 20; i++) { sum = sum+x / y; z = x; x = x + y; y = z; } printf("

用c语言求ax^2+bx+c=0方程的解

用c语言求ax^2+bx+c=0方程的解.#include <stdio.h>#include <math.h>#define m 0.000001int main(){     float a,b,c,x,x2,n,q,p;     scanf ("%f%f%f",&a,&b,&c);     n=b*b-4*a*c;     if ((a<m)&&(a>-m))     {         x=(-c)/b

C语言求积分

编一个程序,求定积分. 1 #include<stdio.h> 2 int main() 3 { 4 float x,n=100000,integral=0,i; 5 for(i=0;i<100000;) 6 { 7 i++; 8 x=n*n; 9 integral+=i/x; 10 } 11 printf("%0.5f\n",integral); 12 return 0; 13 } C语言求积分

C语言求最大公约数和最小公倍数

求最大公约数和最小公倍数 假设有两个数a和b,求a,b的最大公约数和最小公倍数实际上是一个问题,得出这两个数的最大公约数就可以算出它们的最小公倍数. 最小公倍数的公式是 a*b/m m为最大公约数 因为 a=m*i; b=m*j; 最小公倍数为 m*i*j 那么,下面就开始计算a和b的最大公约数. 更相损减法: <九章算術·方田>作分數約簡時,提到求最大公因數方法:反覆把兩數的較大者減去較小者,直至兩數相等,這數就是最大公因數.這方法除了把除法換作減法外,與輾轉相除法完全相同.例如書中求91和

C语言——求最大公约数及最小公倍数

基本概念 最小公倍数:两个或多个整数公有的倍数叫做它们的公倍数.整数a,b的最小公倍数记为[a,b],同样的,a,b,c的最小公倍数记为[a,b,c],多个整数的最小公倍数也有同样的记号. 最大公约数:也称最大公约数.最大公因子,指两个或多个整数共有约数中最大的一个.a,b的最大公约数记为(a,b),同样的,a,b,c的最大公约数记为(a,b,c),多个整数的最大公约数也有同样的记号. 关于最小公倍数与最大公约数,我们有这样的定理:(a,b)[a,b]=ab(a,b均为整数). 方法分析 最大公

7-2 求最大值及其下标 (20 分)

7-2 求最大值及其下标 (20 分) 本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始). 输入格式: 输入在第一行中给出一个正整数n(1<n≤10).第二行输入n个整数,用空格分开. 输出格式: 在一行中输出最大值及最大值的最小下标,中间用一个空格分开. 输入样例: 6 2 8 10 1 9 10 输出样例: 10 2 实验流程 实验代码 #include<stdio.h> int main() { int n,t,i; scanf("%d&qu

c语言:有一个分数序列: 2/1+3/2+5/3+8/5+13/8+… 求出这个数列前 20 项的和

程序: #include <stdio.h> int main() { double s=0,a=2,b=1; int t,i,n=20;  //改变n的值即可求任意项的和 for (i=1;i<=n;i++) { s=s+a/b;   //将各项累加 t=a; a=a+b;     //将前一项的分子与分母之和作为下一项的分子 b=t;       //将前一项的分子作为下一项的分母 } printf ("%lf\n",s); return 0; } 输出结果: 3

【C语言】有一个分数序列 2/1+3/2+5/3+8/5+13/8+… 求出这个数列前 20 项的和。

#include<stdio.h> int qiuhe() { int i=0; int a=1; int b=1; double t=0; double s=0; for(i=1;i<=20;i++) { t=a+b; s=s+t/a; b=a; a=t; } return s; } int main() { double ret=qiuhe(); printf("%lf",ret); return 0; }