p=n!(n!=1*2*3*3.....*(n-1)*n,n由键盘键入)

作者&投稿:初庾 (若有异议请与网页底部的电邮联系)
c语言从键盘读入正整数n,求和=1^n+2^n+3^n+4^n.~

#include
#include //pow函数在math.h头文件下,所以要包含进去进行预处理

int main()
{
int n, result;
printf("请输入正整数n: ");
scanf("%d", &n);
while(n != 0)//控制循环,知道输入0,结束;
{
//pow(2, n)表示求2的n次方;
result = pow(1, n) + pow(2, n)+ pow(3, n)+ pow(4, n);
printf("1^%d + 2^%d+ 3^%d+ 4^%d = %d

", n, n, n, n, result);

//循环输入
printf("请输入正整数n: ");
scanf("%d", &n);
}
return 0;
}

运行结果:


int main(){double s=0;int n;long a=1;scanf("%d",&n);for(int i=1;i<=n;i++){a*=i;//a为第i项分母s+=1.0/a;}printf("%f",s);return 0;}

Private Function cacl(num As Long) As String
Dim numlen As Long, last As Long, x As Long
Dim i As Long, m As Long, n As Long, nl As Long, s0 As String
Dim result() As Long, starttime As Single, s() As String
numlen = 1
starttime = Timer
ReDim result(1 To numlen)
nl = 9 - Len(CStr(num)) '根据两数相乘最大得数长度,不会超过两数长度总和的原理,
'让数组中每个元素长度与阶乘数长度之和不能超过9,以防止溢出。
If nl < 1 Then nl = 1 '最小长度是1位,若真到了这么大的数,恐怕没人会去试了^-^
n = 10 ^ nl '缓存用于分隔大数的被除数,数组中每个元素的长度是 nl,该数就是10的 nl 次方
result(1) = 1
x = 1
Do While x <= num
last = 0
For i = 1 To numlen
m = result(i) * x + last '数组中每个元素进行与待乘数相乘后,再加上上次进位数
result(i) = m Mod n '分隔大数
last = m \ n '保存进位数并等待累计进下一个数组元素
Next
If last > 0 Then
m = Len(CStr(last)) \ nl + 1 '对超过数组元素上限的进位数要增加数组大小,并按长度nl分隔
ReDim Preserve result(1 To numlen + m)
For i = 1 To m
result(numlen + i) = last Mod n
last = last \ n
Next
numlen = UBound(result)
End If
x = x + 1
Loop
ReDim s(1 To numlen)
s0 = String(nl, "0") '对长度不足nl的数组元素要在前面补0,不然结果就在错特错了
For i = 1 To numlen
s(i) = Format(result(numlen + 1 - i), s0) '格式化补 0 每个数组元素
Next
s(1) = Val(s(1))
If s(1) = 0 Then s(1) = "" '最高位要去掉0,虽对得数没影响,但位数会错。
cacl = Join(s, "")
Debug.Print num & "! : 用时 "; Timer - starttime & " 秒, 结果 " & Len(cacl) & " 位"
End Function

Private Sub Command1_Click()
Dim p As double
Dim n As Long
n = InputBox("输入N值")

p = cacl(n)

Print n & "!=";p
End Sub

这个问题要问你怎么看了,如果只是楼上的那种小玩意,教科书上有的是,如果N稍微大了点那就要自己写程序了,因为unsigned long.max在VB中是4294967295,再大就溢出了,用数组解决,可以给我发消息问,代码太长不贴了。

sub xx(int n)
if(n=1)xx=1
else xx=n*xx(n-1)
end if
end sub
上面是递归版的

下面是普通版的
while(n>1)
res = res*n
n=n-1
wend

input "请输入一个数:" to n
p=1
x=1
for i=1 to x
p=x*i
endfor
?p


java输入一个数n,计算n的阶乘(5的阶乘=1*2*3*4*5)
n! =n*(n-1)*(n-2)*...*2*1, 5! = 5*4*3*2*1 include \/\/头文件stdio.h在新浪博客中无法显示加上就可以了 int main(){ int t=5,i=4; \/\/要是求其他的数的阶乘的话,把t的值改为其他数,\/\/再把i改为(t-1)就行了 while(i>=1){ t=t*i;i--;} printf...

求证n!=(n+1)!\/n+1
根据定义:n!=1x2x3x...xn (n+1)!=1x2x3x...xnx(n+1)所以:(n+1)!\/(n+1)=1x2x3x...xnx(n+1)\/(n+1)=1x2x3x...xn=n!即:n!=(n+1)!\/n+1

为什么n×n!=(n+1)!-n!,详细过程,谢谢
n!=1*2*3*...*n (n+1)!=1*2*3*...*n*(n+1)=n!*(n+1)(n+1)!-n!=n!*(n+1)-n!=n!*(n+1-1)=n*n!

...×n用递归法计算n!则可用下列公式表达: n!=1(n=0,1) nx_百度知 ...
计算公式为: n!= n×(n-1)×…×3×2×1,且0!=1 在子函数中只需一个数据x,故设一个参数n 计算结果要返回主函数,故设一个变量result n的阶乘可在一重循环中实现 函数 fac()计算阶乘n! int fac(int n) {int result = 1; if(n1) {result *= n; n- ...

求证:n!=n(n-1)!
没什么可证得 n!=n(n-1)···2*1 (n-1)!=(n-1)···2*1 所以 n!=n(n-1)!

设n!表示从1连乘到n,如1!=1,2!=1*2,...1995!=1*2*...*1995,那么1!+2...
答案 3 首先,你先把他们列几个出来,如下 1 1+1*2 1+1*2+1*2*3=1+2(1+3)=9 1+1*2+1*2*3+1*2*3*4=1+2(1+3(1+4))=3 【只算个位数就行,下面同样】1+1*2+1*2*3+1*2*3*4+1*2*3*4*5=1+2(1+3(1+4(1+5))=3 1+1*2+1*2*3+1*2*3*4...

n*n!=(n+1)!-n!什么意思,是我不知道还是文科不学
感叹号表示阶层,n!等于1*2*3*4*5...*(n-1)*n,所以标题中,等式右边的(n+1)!=n!*(n+1)=n!*n + n!,再减去一个n!就和等式左边一样了。

高中数学n阶乘 为什么(n+1)n!会等于(n+1)!
高中数学,limn→∞((3∧n)+1)\/((3∧n+1)+2∧n) 原式=limn→∞(1+(1\/3)^n)\/((1+(1\/3)^n+(2\/3)^n) 当|q|<1,有q^n=0(n→+∞) 原式=1 sn=(n+1)\/n an= ? 数列 高中数学 sn=(n+1)\/n Sn-1=n\/(n-1) an=Sn-Sn-1 =(n+1)\/n-n\/(n-1...

用for循环求n!,即计算p=1×2×3×…×n的值。
include<stdio.h> double fact(int n){ int i;double t=1;for(i=1;i<=n;++i)t*=i;return t;} int main(){ printf("p=%.0lf",fact(5));return 0;}

...+2!+3!+...+n!其中1!=1,2!=2*1,3!=3*2*1,n!=n*(n-1)*...*2*1...
include <stdio.h> int main(){ int i,n;long int s=0, m=1;printf("请输入一个小于10的正整数:");scanf("%d", &n);for(i=1; i<=n; i++){ m *=i;s +=m;} printf("计算结果为:s=%ld", s);return 0;}

江岸区13848975865: 求n! ,即计算p=1*2*3*…*n的值,n的值从键盘输入 -
缪中阿美: n有限制吗?如果n没有限制 需要用大数乘法 如果n限制在<=12的话 直接乘就可以了 大数乘法的例子#include <stdio.h>#define MAX_DIG 100 int main() { int num[MAX_DIG ] = {0}; int i, j; int a,t; int n; scanf("%d", &n); num[0] = 1; for(i = 2; i <= n; ...

江岸区13848975865: 1*2+2*3+3*4+..+n(n+1)=? -
缪中阿美: 由公式 1*2+2*3+3*4+4*5+…+n(n+1) =(1^2+1)+(2^2+2)+(3^2+2)+...+(n^2+n) =(1^2+2^2+...+n^2)+(1+2+3+....+n) =n(n+1)(2n+1)/6+n(n+1)/2 =n(n+1)(n+2) 应用见网页 http://zhidao.baidu.com/question/24214461.html祝你学习天天向上,加油!!!!

江岸区13848975865: 1+2*2!+3*3!+4*4!...+n*n! -- 化简 -
缪中阿美: 设1+2*2!+3*3!+4*4!...+n*n!=a,1!+2!+3!+...+n!=b a+b=1+1!+2*2!+2!+...+n*n!+n!=2*1!+3*2!+...+(n+1)n!=2!+3!+...+(n+1)! a=2!+3!+...+(n+1)!-b =2!-2!+3!-3!+...+n!-n!+(n+1)!-1 =(n+1)!-1

江岸区13848975865: 1*2*3*...*n=? -
缪中阿美: =n!

江岸区13848975865: 数学题 1*2+2*3+....+N(N+1)== -
缪中阿美: 1*2+2*3+....+N(N+1)=1*2+2*3+....+(N^2+N)=(1+2+3+...+N)+(1^2+2^2+...+N^2)=[N(N+1)/2]+[N(N+1)(2N+1)/6]=N(N+1)(N+2)/3 1*2*3+2*3*4+.....+N(N+1)*(N+2) =1*2*3+2*3*4+.....+(N^3+3N^2+2N) =(1^3+2^3+...+N^3)+3(1^2+2^2+...+N^2)+2(1+2+...+N) =[N(N+1)/2]^2+[N(N+1)(2N+1)/2]+N(N+1) =(N+1)(N^3+3N^2+6N)/4

江岸区13848975865: 1*1+2*2+3*3+……n*n结果以及推导 -
缪中阿美: 因为(n+1)^3 = n^3+3n^2+3n+1 再写一遍 (n+1)*(n+1)*(n+1) = n*n*n+3n*n+3n+1 所以(n+1)^3-n^3 = 3n^2+3n+1 同理 n^3-(n-1)^3 = 3(n-1)^2+3(n-1)+1 一直计算下去最后的两项是: 3^3-2^3 = 3*2^2+3*2+1 2^3-1^3 = 3*1^2+3*1+1 然...

江岸区13848975865: 若A=1*2*3*4'......*99*100=12的N次方*M,M N均为自然数,则N的最大值是多少 -
缪中阿美: A=1*2*3*4*......*99*100=2^k*3^p*(5^a*7^b.....)=2^k*3^p*q LET (5^a*7^b.....)=q K=[100/2]+[100/4]+[100/8]+[100/16]+[100/32]+[100/64]=97 P=[100/3]+[100/9]+[100/27]+[100/81]=48=>2^97*3^48=(2^2)^48*3^48*2=12^48 *2 =12^1*(12^47*2)=12^2(12^46*2)=.....=> MAX(N)=48

江岸区13848975865: 若随机变量ξ的分布列为P(ξ=k)=1/n (k=1,2,3……)求ξ的期望和方差 -
缪中阿美: P(ξ=k)=1/n (k=1,2,3……,n)截到n吧E(ξ)=1*1/n+2*1/n+3*1/n+n*1/n) =(1+2+3+n)/n...

江岸区13848975865: Sn=1*2+2*3 -
缪中阿美: Sn=1*2+2*3+3*4......+n(n+1)=1/3*1*2*3+1/3(2*3*4-1*2*3)+1/3(3*4*5-2*3*4)+...+1/3[n(n+1)(n+2)-(n-1)n(n+1)]=1/3[1*2*3+2*3*4-1*2*3+3*4*5-2*3*4+...+n(n+1)(n+2)-(n-1)n(n+1)]=1/3n(n+1)(n+2)

江岸区13848975865: 数列1*n,2(n - 1),3(n - 2),…,n*1的和为? -
缪中阿美: Sn=1*n+2(n-1)+3(n-2)…+(n-1)*2+n*1 =n+2n-1*2+3n-2*3+……+n^2-(n-1)n =n+2n+3n+……n^2-(1*2+2*3+……(n-1)n) =n(1+2+3+……+n)-(1/3)(1*2*3+2*3*4-1*2*3+3*4*5-2*3*4+……+(n-1)n(n+1)-(n-2)(n-1)n) =n*n*(n+1)/2-(1/3)(n-1)n(n+1) =n(n+1)(n/2-1/3n+1/3) =n(n+1)(n+2)/6 Sn=n(n+1)(n+2)/6

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