导航:首页 > 编程语言 > 用java计算n的阶乘和

用java计算n的阶乘和

发布时间:2023-05-16 15:59:26

Ⅰ 在java中,用递归方法计算n的阶乘。

用Java求键盘输入的数的阶乘n。(递归算法)packagejiecheng; importjava.util.*; //导入java.util包中的所有类{ publiclongrep(intn){ longi=0; if(n==0||n==1) i=1;

elsi=n*rep(n-1) returni; } } publicclassJie{ publicstaticvoidmain(String[]args){ intn; //此处定义要输入的数Scanners= newScanner(System.in); //以下三行用于n的值得输入System.out.print( "请输入一个整数:"); n=s.nextInt(); repf= newrep(); System.out.println(n+"!="+f.rep(n)); } }

Ⅱ JAVA程序设计求1-100的阶乘和

亲,java的界面不太受欢迎哦~~大概按你要求做了,看看吧~~

importjava.awt.BorderLayout;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjavax.swing.JButton;

importjavax.swing.JEditorPane;

importjavax.swing.JFrame;

importjavax.swing.JLabel;

importjavax.swing.JPanel;

importjavax.swing.JTextArea;

publicclassyoyoextendsJFrame{

publicstaticvoidmain(String[]args){

yoyoyo=newyoyo();

yo.show();

}

publicyoyo(){

setDefaultCloseOperation(EXIT_ON_CLOSE);//设置退出时结束程序

setTitle("计算阶层和");

setSize(400,250);

setLocation(100,100);//坐标

//把控件实例化

finalJEditorPaneedit=newJEditorPane();

finalJButtonbutton=newJButton("计算和");

finalJTextAreaarea=newJTextArea(null,"",8,18);

JPanelmyPanel1=newJPanel();//这个是第一行的布局

myPanel1.add(newJLabel("请输入整数n:"),BorderLayout.WEST);

myPanel1.add(edit,BorderLayout.CENTER);

myPanel1.add(button,BorderLayout.EAST);

JPanelmyPanel2=newJPanel();//这个是第二行的布局

myPanel2.add(newJLabel("1至n的阶乘和是:"),BorderLayout.WEST);

myPanel2.add(area);

//把上面的布局加入画布中

this.add(myPanel1,BorderLayout.NORTH);

this.add(myPanel2,BorderLayout.CENTER);

//上面已经把界面做出来了,接下来监听按钮

button.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEventarg0){

intn=Integer.valueOf(edit.getText());//得到edit里的值n

intresult=0;

for(inti=1;i<=n;i++){

inta=1;

for(intj=1;j<=i;j++){

a*=j;

}

result+=a;

}

area.setText(result+"");

}

});

}

}


下面效果图:

Ⅲ java输入一个数n,计算n的阶乘(5的阶乘=1*2*3*4*5)

1、首先要理解一下阶乘的公式:

n!=n*(n-1)*(n-2)*....*2*1,5!=5*4*3*2*1

#include//头文件.h在新浪博客中无法显示加上就可以了

intmain()

{

intt=5,i=4;//要是求其他的数的阶乘的话,把t的值改为其他数,

//再把i改为(t-1)就行了

while(i>=1)

{

t=t*i;

i--;

}

printf("5的阶乘结果是:%d ",t);

return0;

}

2、运行结果如下:

Ⅳ 用java求1到30 的阶层和 用方法

阶乘的公式是
n!=n*(n-1)*(n-2)....*2*1
这个公式可以通过一个java的循环来实现,也就是第一种方法。

for(int i=number; i>0;i--)
这个循环在i=0的时候结束, 而阶乘的结果通过result*=i来计算。
public static int compute(int number)
{
int result=1;

for(int i=number;i>0;i--){
result*=i;
}

return result;
}

public static void main(String[] args)
{
System.out.println(compute(30)); //789912231223232323211
}
第二种是通过递归来实现阶乘。
递归就是方法调用自身, 最终通过一个出口来结束程序的调用。
这个出口要保证程序不出现死循环。
在上面的f(x)- n*f(x-1)这里, 出口就可以设置为
if(1==number)
{return 1;}
代码实现:
public static int cur(int number){
if(number!=0){
return number*cur(number-1);
}else return 1;
}

Ⅳ java输入一个数n,计算n的阶乘(5的阶乘=1*2*3*4*5)

import java.util.Scanner;

public class Test2 {
public static void main(String[] args) {
System.out.println("请输入你需要计算的物简数字:");
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
int d = pp(i);
System.out.print(d);

}

public static int pp(int n) {
if (n < 2)
return 1 * n;
else
return n * pp(n - 1);
}

}
int pp(int n)
{
if(n<2)
return 1*n;
else
return n*pp(n-1);
}
这一好销段, 如果n大于2,返回n*pp(n-1)的意思,就是,任何一个N的阶乘等于n*比n小1的数的阶乘,打个比方,比如5的阶乘等于5*(4的阶乘),4的阶乘等罩袜裤于4*(3的阶乘),而1的阶乘,等于1本身。

Ⅵ java求1到N的阶乘的和,N等于一百,初学JAVA,求程序代码

对于一般的比如20以内的阶乘 可以用int 但是你这个太大了
long都不够 用double了 没有限制输出格野逗式 所以是科学计数的 而且用double小数点后会出现误差 这腔颤个知道吧 文件名Sum.java 代码如下:
package Sum;
public class Sum{
public static void main (String[] args) {
double sum=0,sumt,i,j;
for(i=1;i<=100;i++){
for(j=1,sumt=1;j<=i;j++){
sumt*=j;
}
sum+=sumt;
System.out.println(i+" "+sum+" "+sumt);
}
}
}

如果实在要求这么大的阶乘 可以用数组方式解决
给你贴段代码 以前网上某位写的 忘记了 求阶乘的
import java.util.Scanner;

public class nc030{

public static void main(String[] args) throws Exception {
int[] date = new int[100000];
date[1] = 1;
int weishu = 1; // 求出来的值的位数
System.out.println("------用数组解决大数问题---------");
System.out.println("求n!的值");
System.out.print("n=");
Scanner cin = new Scanner(System.in);
int n = cin.nextInt();
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= weishu; j++) {
date[j] = date[j] * i;
}
// 确保除最高位外的每位不大于9
for (int j = 1; j < weishu; j++) {
if (date[j] >= 10) {
date[j + 1] += date[j] / 10;
date[j] = date[j] % 10;
}
}
//确保最高位不大于伍脊败9
while (date[weishu] >= 10) {
weishu++;
date[weishu] += date[weishu - 1] / 10;
date[weishu - 1] = date[weishu - 1] % 10;
}
}
System.out.print(n + "!= ");
for (int k = weishu; k >= 1; k--) {
System.out.print(date[k]);
}
System.out.println("");
}
}

启发一下就好啦~

Ⅶ java语言求n的阶乘

||

楼主,系统提示你少括号,让你插入一个括号在结束块,说的很明白啊

你在最后加个括号就没错啦...

publicclassexample2{
staticlongcalcFactorial(intn){
longfactorial=1;
if(n<1||n>20){
System.out.println("输入错误!");
}
for(inti=n;i>=1;i--){
factorial*=i;
}
System.out.println("请输入不超过20的正整数n:");
for(inti=1;i<=n;i++){
System.out.printf("最后结果:%d",calcFactorial(n));
System.out.println();
returnfactorial;
}
publicstaticvoidmain(String[]args){}
}//<-这个是calcFactorial方法的结束括号,你类example2的结束括号呢?

另外你这个方法能否运行起来?主函数应该写在class内,而不是calcFactorial方法内

Ⅷ 高分悬赏:java 语言编写 1到N的阶乘的和

给你写一个简单的空谨如下:
public class test{
public static void main(String args[]){
int i=1;
int j=1;
int sum;
for(;i<=10;i++){
j=j*i;sum=sum+j;}
System.out.println("1~10的阶乘丛察和为"+sum);
}
}
这是一到十渗亏茄的阶乘,用时将10换做成任何即可

Ⅸ Java编程:写出求n的阶乘的方法,并算出1到7的阶乘的和

Java编程:写出求n的阶乘的方法,并算出1到7的阶乘的和方法:

先编写求阶乘的方版法,再通过for循环计算权1到7的阶乘的和。

具体实现:

publicclassTest{
publicstaticvoidmain(String[]args){
intsum=0;//保存阶乘的和
for(inti=1;i<=7;i++)
sum+=factorial(i);
System.out.println(sum);
}

//求阶乘方法,传入一个整数,返回这个整数的阶乘
publicstaticintfactorial(intnum){
intresult=1;
for(inti=1;i<=num;i++){
result*=i;

returnresult;
}
}

Ⅹ java计算n的阶乘

int n=8;
int p=n;
for(int i=n;i>1;i--){
p*=i;
}
print("%d\n",p);

阅读全文

与用java计算n的阶乘和相关的资料

热点内容
鸿蒙系统文件管理哪些可以删除 浏览:550
ubuntuqt创建工程没有配置文件 浏览:126
网站登录变成其他网站怎么处理 浏览:202
ug数控编程学校有哪些 浏览:203
java图片上传显示 浏览:402
ppt的文件名后缀 浏览:902
ug编程软件下载到哪个盘 浏览:359
炫酷字体APP下载的文件在哪里 浏览:668
廊坊哪里有少儿编程机构 浏览:312
cad新文件能找回来吗 浏览:951
导出手机qq文件到u盘 浏览:456
电脑如何打开ppt文件怎么打开方式 浏览:782
魅族锁定区文件夹 浏览:357
刻字cnc怎么编程 浏览:182
学校的网络拓扑结构图 浏览:784
收集100个pdf文件里关键词 浏览:594
苹果关闭4g网络设置 浏览:289
如何监测数据库 浏览:967
拷贝过来的pdf文件 浏览:751
抖音小店的访客数据怎么看 浏览:670

友情链接