1+2+3+4+5+……n的平均值加减2倍标准差

C语言求Sn=1!+2!+3!+4!+5!+…+n!之值_百度知道
C语言求Sn=1!+2!+3!+4!+5!+…+n!之值
这是我编的程序,但是当n=20时结果不对,结果应为1820313。求大神指教!
#include&stdio.h&
int main()
double sum = 0, f = 1;
scanf(&%d&, &n);
for(i = 1; i &= i++)
我有更好的答案
数值范围超大,可以使用64位整数处理:#include&stdio.h&int main(){
int i,n=20;
__int64 sum=0, f=1;
for (i=1;i&=n;i++) {
printf(&%lld\n&, sum);
return 0;}注:这是gcc的写法,不同编译器,可能写法不一样:printf(&%l64d\n&, sum);
用__int64是对的,能解释一下__int64这个数据类型吗?
现在的CPU基本上都是64的了,以前32位CPU时代,整数上限是2的32次方,而64CPU则是2的64次方,为了兼容以前的代码,所以现在的int仍然表示2的32次方,对64位int型数据,则增加了新的数据类型__int64,没什么特殊的,只要记住就可以。现在的 int类型也可以写作:__int32,即32位整数
采纳率:72%
来自团队:
应该是类型的问题,改为int型就可以了#include&stdio.h&int&main(){&&&int&i,&n;&&&int&sum&=&0,&f&=&1;&&&scanf(&%d&,&&n);&&&for(i&=&1;&i&&=&n;&i++)&&&{&&&&&&&f&*=&i;&&&&&&&sum&+=&f;&&&}&&&printf(&%d\n&,sum);&&&return&0;}
int不行,用long int 或 __int64可以。
我电脑上我看了过程,long long 型都还会溢出
printf(&%.0f\n&,sum);这一句中的&%0.f\n”中的f应该是float吧?而你要输出的是个double,double转成float肯定是被截断了,所以到20以后就不正确了。
用long int
用long int n=20时,结果为。但是,通过OJ提交答案是对的。请问这是为什么?
因为 double 位数没有 long int 多 望采纳
数据溢出。。。。。。。。。
我用的是double啊
其他2条回答
为您推荐:
其他类似问题
c语言的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。java编程,算1!+2!+3!+4!+5!+……+n!_百度知道
java编程,算1!+2!+3!+4!+5!+……+n!
我有更好的答案
import&java.math.BigIimport&java.util.*;public&class&Marik{&&&&public&static&void&main(String[]&args)&&&&{&&&&&&&&Scanner&scan&=&new&Scanner(System.in);&&&&&&&&System.out.println(&输入n的值&);&&&&&&&&int&n&=&scan.nextInt();&&&&&&&&scan.close();&&&&&&&&BigInteger&sum&=&BigInteger.ZERO;&&&&&&&&for(int&j&=&1;&j&&=&n;&j++)&&&&&&&&{&&&&&&&&&&&&BigInteger&bi&=&BigInteger.ONE;&&&&&&&&&&&&BigInteger&i&=&BigInteger.valueOf(j);&&&&&&&&&&&&while(i.compareTo(BigInteger.ZERO)&&&0)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&bi&=&bi.multiply(i);&&&&&&&&&&&&&&&&i&=&i.subtract(BigInteger.ONE);&&&&&&&&&&&&}&&&&&&&&&&&&sum&=&sum.add(bi);&&&&&&&&}&&&&&&&&System.out.println(sum);&&&&}}
这是递归吗
采纳率:71%
一个递归调用static int fac(int n) {
if (n == 0)
fa = n * fac(n - 1); // 递归引用自身
public static int getSum(int n) {
sum=fac(n)+getSum(n-1);
我是新手,代码能不能完整
为您推荐:
其他类似问题
您可能关注的内容
java编程的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。1+2+3+4+5+……n的平均值_百度知道
1+2+3+4+5+……n的平均值
1+2+3+4+5+……n的平均值
我有更好的答案
(1+2+...+n)/n=[½n(n+1)]/n=½(n+1)1+2+...+n的平均值为½(n+1)
采纳率:78%
来自团队:
前面那个写错了(1+n)/2
解S=(1+n)n/2平均值=S/n=(1+n)/2
1+2+3+4+5+……n的平均值为:(1+n)×n÷2÷n=(1+n)/2
其他1条回答
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
下载作业帮安装包
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
1+2+3+4+5+…+n=n(n+1)/2的推理过程,最好是初中方法推论,也可用其他方法
作业帮用户
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
假设1+ 2+ 3 +.+n =A (1)那么n+(n-1)+(n-2)+.+1=A (2)(1)+(2)=(n+1)+(n+1)+(n+1)+.(n+1)=n个(n+1)=n(n+1)=2A所以A=n(n+1)/2即 1+2+3+.+n=n(n+1)/2
为您推荐:
其他类似问题
扫描下载二维码1+2+3+4+……+(n _1)的公式_百度知道
1+2+3+4+……+(n _1)的公式
我有更好的答案
1+2+3+4+……+(n -1)=(1+n-1)x(n-1)/2=(n²-n)/2
采纳率:80%
来自团队:
等差数列的求和公式1+2+3+4+……+n=n(n+1) /2
头加尾,乘以数量,除以2即,n(n-1)/2
为您推荐:
其他类似问题
公式的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 平均值的大n和小n 的文章

 

随机推荐