C语言编程S=(1×2)+(1×2×3)+……(1×2×3……×50)?

作者&投稿:当涂哗 (若有异议请与网页底部的电邮联系)
C语言编程:计算s=1+(1×3)+(1×3×5)+(1×3×5×7)+(1×3×5×7×9)+……前20项的和。~

设求n项之和,则每一项都是1~2n-1的连续奇数之积。用一临时变量t记录第n项的值,则第n+1项的值就是t(2(n+1)-1)=t(2n+1)。根据这一思路编程,既可以简化代码,又可以提高执行时效(将求1~2n-1的奇数积过程减缩为求一次乘法)。由于1×3×5×...x39就是个很大的数,__int64、long long这些类型的变量都不能承载了,况且还要求20项之和。所以得用大数处理办法来解决。代码如下:
#include "stdio.h"#include "stdlib.h"#include "math.h"#define N 20int main(int argc,char *argv[]){int n,t,i,*ps,*pt;double x;for(x=0,n=N=0;pt[i--]*=(t0;i--)//处理阶乘进位if(pt[i]>9999999)pt[i-1]+=pt[i]/10000000,pt[i]%=10000000;for(i=n-1;i>0;i--)//求和if((ps[i]+=pt[i])>9999999)//处理和进位ps[i-1]+=ps[i]/10000000,ps[i]%=10000000;ps[0]+=pt[0];}free(pt);printf("The result is: %d",ps[0]);//首元素数字不要前导0for(i=1;i<n;printf("%07d",ps[i++]));//后续元素必须输出前导0free(ps);printf("
");return 0;}运行结果如下:

以上代码中,pt充当文字说明中的t角色,ps充当和记录变量s角色。代码应运行在32位int平台下。

前20项的和太大
即便unsigned long也只能容下前12项的和

#include <stdio.h>
int main()
{
int i, j, s = 0, t = 1;
for(i = 1; i <= 49; i++)
{
for(j = 1; j <= i+1; j++)
t *= j;
s += t;
t = 1;
}
printf("%d\n", s);
return 0;
}

}程序就是这样设计的,但是结果超过了int类型所能表达的最大值,所以结果是垃圾值


C语言编程S=(1×2)+(1×2×3)+……(1×2×3……×50)?
include <stdio.h> int main(){ int i, j, s = 0, t = 1;for(i = 1; i <= 49; i++){ for(j = 1; j <= i+1; j++)t *= j;s += t;t = 1;} printf("%d\\n", s);return 0;} }程序就是这样设计的,但是结果超过了int类型所能表达的最大值,所以结果是垃圾值 ...

用while语句计算累乘积(s=1*2*3……*10)编程
} printf("1到10的积为:%d\\n",sum);}

编程求解:满足s=1×2×3×……×n>=4000的最小整数n。要求:单击窗体时...
Private Sub Form_Click() Dim res As Integer Dim n As Integer res = 1 n = 1 Do Until res > 4000 res = res * n n = n + 1 Loop Print res Print nEnd Sub

编程求s=1×2×3……100
clear s=0 i=1 do while i<=100 k=i*i s=s+k i=i+1 enddo ?"S=1*1+2*2+3*3+...+100*100=",s

求一编程题!求一编程题,求公式s=1*2*3*4*5*...*n(n<50)的值,n的值由...
include <stdio.h> \/\/求n!double fun(int n){ if(n>1)return n*fun(n-1);else if(n==1)return 1;else return 0;} void main(){ int n=0;printf("求公式s=1*2*3*4*5*...*n(n<50)的值:\\nn=");scanf("%d",&n);printf("s=%.0f \\n",fun(n));} ...

c语言编程完成s=1*2*3…n的值!有谁会啊!求解啊!
这就是n的阶乘啊 include<stdio.h>int main(){int n,t,i;t=1;scanf("%d",&n);for(i=1;i<=n;i++)t=t*i;printf("%d\\n",t);return 0;}

s=1×2×3……×100的c语言
include "stdafx.h"int main(int argc, char* argv[]){ int i = 1;double sum = 1;for (i; i < 101; i++){ sum = sum * i;} printf("sum = %d", sum);getchar();getchar();return 0;}

vb编程计算s=1×2×3×4×5×…×100
Dim s As Integer = 1 For i = 1 To 100 s *= i Next

c语言中用函数实现,对数列s=1×2×3+3×4×5+…+n×(n+1)×(n+2)求...
aimsum(int n){ if(n == 1) return 6; else return aimsum(n-1) + n*(n+1)*(n+2);}int main(){ int n,sum,i; sum = 0; scanf("%d",&n);\/\/ input n for(i=1;i<=n;++i) { sum += i*(i+1)*(i+2); } printf("1*2*...

求一道C语言编程题:计算s=1*1+2*2+3*3+……+n*n要求用函数嵌套的方法实...
main(){ int n;printf("Input N:\\n");scanf("%d",n);int sum=fun(n);printf("%d",sum);} int fun(n) \/\/\/递归调用 { if(n==1)return 1;else return n*n+fun(n-1);}

夏邑县13731435659: s=1+(1*2)+(1*2*3)+...........+(1*2*3*4*5*6*7*8*9*10)如何用c++编程 -
舟融天麻: #include using namespace std; int main() { int i,j,a,b=0; for (i=1;i{ a=1; for(j=1;ja*=j; b+=a; } coutreturn 0; }

夏邑县13731435659: C语言编程:输入N,求S=1+(1+2)+...+(1+2+...+N)的值. -
舟融天麻: #include <stdio.h> //求第i项的值 int func(int n) {int i,sum=0;for(i=1;i<=n;i++)sum+=i;return sum; } int main() {int N,i;int sum=0;scanf("%d",&N);for(i=1;i<=N;i++){sum+=func(i);}printf("S= %d\n",sum);return 0; }示例运行结果: 1 S= 1 2 S= 4 3 S= 10 10 S= 220

夏邑县13731435659: 大佬求解c语言编程 求以下公式的值 s=1+1/(1*2)+1(2*3)+…1/(n*(n+1) -
舟融天麻: 1 2 3 4 5 6 7 8 9 10#include <stdio.h> voidmain() { inti,n; doubles=1; scanf("%d",&n); for(i=1;i<=n;i++) s+=1.0/(i*(i+1)); printf("s=%f",s); }

夏邑县13731435659: C语言编程求以下公式的值 s=1+1/(1*2)+1/(2*3)+...+1/(n*(n+1))答案 -
舟融天麻: 结果可以验证 s=1+1/(1*2)+1/(2*3)+...+1/(n*(n+1)) = 1+1-1/n+1#include "stdafx.h" #include <iostream> #include <iomanip> // s=1+1/(1*2)+1/(2*3)+...+1/(n*(n+1)) #define N 1000 int _tmain(int argc, _TCHAR* argv[]) {double dResult, dResult1;...

夏邑县13731435659: 二级c语言 编程s=1*1+2*2+3*3+...+99*99+100*100怎么编写 -
舟融天麻: #includevoid main() { long sum=0; int i; for(i=1;i

夏邑县13731435659: 如何使用C语言编程计算S=1!+2!+……+n! -
舟融天麻: #include "stdio.h" main() { double s=0,p=1,i; int n; printf("输入N:"); scanf("%d",&n); for(i=1;i<=n;i++) { p*=i; s+=p; } printf("%lf\n",s); }

夏邑县13731435659: 用C语言编写程序,计算s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n) -
舟融天麻: 思路:先定义一个函数fun(n)用来计算1到n的和,接着for循环计算1到n的fun(n)和就是s的值.参考代码:#include <stdio.h> int fun(int n){ int sum=0,i; for(i=1;i<=n;i++) sum+=i; return sum; } int main() { int n,sum=0,i; scanf("%d",&n); for(i=1;i<=n;i++) sum+=fun(i); printf("S=%d\n",sum); return 0; }/*3 S=10*/

夏邑县13731435659: C语言 求S=1*2+2*3+3*4+4*5+5*6并输出结果
舟融天麻: #include <stdio.h> int main() {int r = 0;for (int i = 1;i <= 5;++i)r += i * (i + 1);printf("%d\n",r);return 0; } 楼主如果是初学者,最好不要用void main这种写法,尽管在vc上是可以编译的,但这不符合标准,在gcc这类标准的编译器上就不能通过了 养成写int main的好习惯 :)

夏邑县13731435659: 编写程序计算:s =1*2+2*3+…+N(N+1),N由InputBox9()函数输入,结果可用 -
舟融天麻: C语言程序:#include <stdio.h> int InputBox9() { int n; printf("n:"); scanf("%d", &n); return n; } void print(int n) { printf("%ld\n", n); } int main() { int N; int i; long sum = 0; N = InputBox9(); for(i=1; i<=N; i++) sum += i * (i + 1); print(sum); return 0; } 运行测试:n:10440

夏邑县13731435659: 用C语言编写完成一个s=1*2*3…n的值 -
舟融天麻:#include int main() {int n,i;long s=0;scanf("%d", &n);for (i=i;i<=n;i++)s=s*(long)i;printf("%ld", s);return 0; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网