ppts.net
当前位置:首页>>关于vb输入n,求sn=1!+2!+3!+...+n!的资料>>

vb输入n,求sn=1!+2!+3!+...+n!

不是有个公式吗,sn=(1+n)n/2 VB表示是 sn=(n**2+n)/2

#includedouble func(int n){ return n

数值范围超大,可以使用64位整数处理: #include int main() { int i,n=20; __int64 sum=0, f=1; for (i=1;i

//#include "stdafx.h"//vc++6.0加上这一行. #include "stdio.h" void main(void){ int n,i,tmp,sn; printf("Type an integer(n

逻辑上看不出来错 可能y的长度不够了

#include using namespace std; int recursive(int i) { __int64 sum = 0; if (i == 0) return (1); else sum = i * recursive(i-1); return sum; } int main() { int n; int i; __int64 tmd = 0; cin >> n; for(i=1; i

这里的关键是要有一个变量能存储下n!和整个的和,普通int型和long int型变量范围都很小,所以建议用double型变量。 你的程序虽然提示输入数据到变量n,但没有调用输入语句输入,应当: printf("input a number:"); scanf("%d",&n); 你用sum变量...

先由分母可得分母的同项公式是n(n+1)/2 所以Sn=2(1/2+1/6+1/12.....+1/n(n+1) =2[1-1/2+1/2-1/3+1/3-1/4....+1/n-1/(n+1)] 注:1/2=1-1/2 1/6=1/2-1/3 ... 1/n(n+1)=1/n-1/(n+1) 可得Sn=2[1-1/(n+1)] =2n/(n+1)

import java.util.Scanner;public class T1 { /* 对本题而言,这个方法效率不高,但符合出题人的要求 其实,求n!的时候,可以利用已经求得的(n-1)!的结果, 在其基础上,直接 *n 即可得出。 */public static long fact (int n) {if (n==2) retur...

此题求f(n)范围必须证明其单调性,然后求其范围。 此题关键在于求f(n)的上界!放缩法固然可以,但是求其结果不够精确,容易放大过度或是出现错误,也容易出现fn<M<3/4。二楼解法中居然出现[1,2/3)这样的区间。显然正确解法应该是求f(n)的极限...

网站首页 | 网站地图
All rights reserved Powered by www.ppts.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com