导航:首页 > 编程语言 > 关于编程计算n的程序

关于编程计算n的程序

发布时间:2023-05-26 08:20:38

㈠ 编写程序,计算N!的值(N为键盘输入的一个整数)

代码如下,手乎宽机写的,自己调试下,如果没问题,请采纳,谢谢。
#include <stdio>
#include <stdlib>

void main()
{
int nNum = 0;
int nResult = 0;
printf("岁模亮Please input a number: ");
scanf("%d"码雹, &nNum);
for(;nNum > 0; nNum--)
{
nResult *= nNum;
}
printf("%d! = %d\n", nNum, nResult );
}

㈡ 用java编写程序求n!

importjava.util.Scanner;
publicclassText{
publicstaticvoidmain(Stringargs[]){
System.out.println("请输入n");
Scannersc=newScanner(System.in);
intn=sc.nextInt();
intt=1;
inti=1;
while(i<=n){
t=i*t;
i=i+1;
}
System.out.println("n!="+t);


}
}

//补充,JAVA文件保存时文件名必须和类名相同。

㈢ 用汇编语言如何编写计算n!的程序(利用循环结构程序编写)

;X86汇编_用循环结构编程计算阶乘n!
code segment
assume cs:code,ds:code
org 100h
start:
push cs
pop ds
push cs
pop es
Q0:lea dx,Tips
mov ah,9 ;显示提示
int 21h
Q1:mov ah,0
int 16h
cmp al,1bh ;Esc退出
jz exit
cmp al,'0'
jb Q1 ;不是数字重新输入
cmp al,'8';大于8,则产生溢出错误
ja Q1
mov ah,0eh
int 10h
sub al,30h;'0'
or al,al
jnz Q2
mov ax,1 ;0!=1
jmp Q4
Q2:mov ah,0
mov cx,ax
mov al,1
xor dx,dx
Q3:mul cx ;用mul cl算做兄如到6!便出纯启错
loop Q3
Q4:cld
lea di,Result
add di,2
lea bp,Table
mov cx,5
Q5:xor dx,dx
div word ptr [bp]
or al,30h
stosb
mov ax,dx
add bp,2
loop Q5
lea dx,Result ;显示计算结果
mov ah,9
int 21h
jmp Q0
exit:
mov ah,4ch
int 21h

Tips db 'Please Input a Number(0-8),Esc to Quit: ',0dh,0ah,'$' ;提示
Table dw 10000,1000,100,10,1
Result db '!=00000',0dh,0ah,'$'尘孝
code ends
end start

㈣ 编写C++程序,计算n!

#include"iostream.h"
#include"math.h"
#include"stdlib.h"
#include"iomanip.h"

int getn()
{
int n;
cout<<"请输入N!中的N\n";
cin>>n;
while(n<0)
{
cout<<"输入有错!请重新输入!"<<endl;
cin>>n;
}
if(n==0)
exit(1);
return n;
}

int getbitnum(int n)
{
double sum=1.0;
for(int i=1;i<n;i++)
sum+=log10(i);
return (int)sum;
}

char * init(int size)
{
char *pa=new char[size];
if(!pa)
{
cout<<"too large factor of"<<size<<endl;
exit(1);
}
pa[0]=1;
for(int i=1;i<size;i++)
pa[i]=0;
return pa;

}

void calc(char *a,int n)
{
double bitcount=1;
int begin=0;
for(int i=2;i<=n;i++)
{
long and=0;
bitcount+=log10(i);
if(a[begin]==0)
begin++;

for(int j=begin;j<int(bitcount);j++)
{
and+=i*a[j];
a[j]=char(and%10);
and/=10;
}
}
}

void display(char *a,int size)
{
int bit=0;
for(int i=size-1;i>=0;i--)
{
if(bit%60==0)
cout<<endl<<"第"<<setw(3)<<(bit/50+1)<<"个50位:";
cout<<(int)a[i];
bit++;
}
cout<<endl;
}

void main()
{
int n=getn();
int size=getbitnum(n);
char *pa=init(size);
calc(pa,n);
display(pa,size);
delete []pa;
}
楼上的几位代码没有错误,我赞同。但是只能算一些n比较小的阶乘,遇到数字大的就会溢出。楼主可以试试1000的阶乘。我的这个可以算大一点的数

㈤ 如何用c语言编写程序求N!

#include"stdio.h" void maim() {int i,N; long sum=1; printf("请输入N的值); scanf("%d",&N); if(N=0)sum=1; else for(i=1;i<=N;i++) sum*=i; printf("N!=%ld\n",sum); }

㈥ 编写程序,输入n,计算n!(n的阶乘)。

思路:所谓n的阶乘就是从1到n的累积,所以可以通过一个for循环,从1到n依次求积版即可。

参考代权码:

#include<stdio.h>
intmain(){
intn,i,s=1;
scanf("%d",&n);
for(i=1;i<=n;i++)//for循环求累积
s=s*i;
printf("%d ",s);
return0;
}

/*

运行结果:(例如求5的阶乘)

5

120

*/

㈦ 如何用C++编写程序计算n!

#include"iostream.h"x0dx0a#include"math.h"x0dx0a#include"stdlib.h"x0dx0a#include"iomanip.h"x0dx0ax0dx0aint getn()x0dx0a{x0dx0aint n;x0dx0acout<<"请输入N!中的N\n";x0dx0acin>>n;x0dx0awhile(n<0)x0dx0a{x0dx0acout<<"输入有错!请重新输入!"<>n;x0dx0a}x0dx0aif(n==0)x0dx0aexit(1);x0dx0areturn n;x0dx0a}x0dx0ax0dx0aint getbitnum(int n)x0dx0a{x0dx0adouble sum=1.0;x0dx0afor(int i=1;i=0;i--)x0dx0a{x0dx0aif(bit%60==0)x0dx0acout<

㈧ 用C语言编写程序:计算n!

#include<iostream>
using namespace std;
int main()
{
int n;
cout<腊让山<"请输入一个正整滑吵数:";
cin>>n;
while(n<=0)
{
cout<<"输入无效,请轮中重新输入:";
cin>>n;
}
int result=1;
for(int i=1;i<=n;i++)
result *= i;
cout<<"n!="<<result<<endl;
return 0;
}

㈨ C++编程:从键盘输入一个正整数n,编程计算n!

容我说句实话,楼上两位的代码只能算比较小的阶乘,比如 100! 就算不出了。
我是用数组来实现大数的阶乘,代码如下:

#include<iostream>
#include<deque> // 利用双端队列保存计算结果的每一位
using namespace std;

int main()
{
deque<int> a;
a.push_back(1);
a.push_back(1);
int n,top = 1;
cout << "Input n: ";
cin >> n;
for(int i = 1; i <= n; i++)
{
for(int j=1; j <= top;j++)
a[j] *= i;
for(int j = 1; j <= top; j++)
{
if(a[j]>10)
{
for(int r = 1; r <= top; r++)
{
int tmp = a[r] / 10;
a[r] = a[r] % 10;
if(r+1 == a.size())
{
if(tmp == 0)
break;
else
{
a.push_back(tmp);
top++;
break;
}
}
a[r+1] += tmp;
}
}
}
}
cout << n <<"! = ";
for(int j = top ; j > 0; j--)
cout << a[j];
cout << endl;
return 0;
}

PS:上面的代码是我前些时写的,所以没有注释.
这位兄弟将代码拿去跑一遍就知道了,结果是正确的

㈩ c语言求n!

1、求n!就是n的阶乘首先打开vc++ 6.0软件,准备一个新的c语言文件,命名为multiply.cpp,然后引入C语言基本库,创建一个main函数:

阅读全文

与关于编程计算n的程序相关的资料

热点内容
pc桌面壁纸文件夹 浏览:473
微信怎么添加群 浏览:781
40岁男人适合的微信名 浏览:925
编程里比例怎么打 浏览:215
苹果12两个app如何分屏 浏览:592
ps下载完不是压缩文件 浏览:362
电脑中的个人文件包括什么 浏览:572
网络连接一般什么密码 浏览:199
java定时器quartz实例 浏览:259
稻壳excel文件太大怎么弄 浏览:901
文件里的视频如何保存到相册 浏览:428
手机百度云文件电脑 浏览:957
编程怎么做到时钟精准 浏览:912
锤子用过的壁纸在哪个文件里 浏览:468
qq网站安全性未知访问不了怎么办 浏览:270
燕秀怎么修改编程人名字 浏览:789
2012年天之眼导航升级 浏览:595
如何安装视频文件 浏览:315
红米2A升级miui9 浏览:927
如何在表格中加入一行数据库 浏览:421

友情链接