求n的阶乘java
㈠ 用java程序写一个用递归和非递归方法求n的阶乘
public class Fac {
public static void main(String[] args) {
int n = 5;
long fac = digui(n);
long fac2 = nonDigui(n);
}
//循环方法
private static long nonDigui(int n) {
long fac = 1L;
for(int i = 1; i<=n ;i++){
fac = fac * i;
}
return fac;
}
//递归
private static long digui(int n) {
if(n == 1){
return 1;
}
return n * digui(n-1);
}
}
㈡ java语言求n的阶乘
staticlongcalcFactorial(intn){
if(n==1){
return1;
}else{
returnn*calcFactorial(n-1);
}
}
㈢ java计算n的阶乘
int n=8;
int p=n;
for(int i=n;i>1;i--){
p*=i;
}
print("%d\n",p);
㈣ java语言求n的阶乘,包括java所有数据类型
/*
byte(字节) 8 -128 - 127 0
shot(短整型) 16 -32768 - 32767 0
int(整型) 32 -2147483648-2147483647 0
long(长整型) 64 -9233372036854477808-9233372036854477808 0
float(浮点型) 32 -3.40292347E+38-3.40292347E+38 0.0f
double(双精度) 64 ……
举个int的
*/
public static double jiecheng(int num) {
if (num == 1)
return 1d;
else {
if (num > 1) {
return num * jiecheng(num - 1);
}
return 1d;
}
}
public static void main(String[] args) throws UnsupportedEncodingException {
int start=1;
while(jiecheng(start)<Math.pow(2,32)-1){
start++;
}
System.out.println(start-1);
}
㈤ 请教高手:java编程求n的阶乘
public class Myjiecheng {
public static void main(String[] args) {
String s=JOptionPane.showInputDialog("请输入你要求几的阶乘:");
if(s!=null && s.length()>0){
try{
int n=Integer.parseInt(s);
int sum=1;
for(int i=1;i<=n;i++){
sum=sum*i;
}
JOptionPane.showMessageDialog(null, n+"的阶乘是"+sum);
}catch(Exception e){
JOptionPane.showMessageDialog(null, "输入的不是数字");
}
}
}
㈥ 编写Java程序,计算n的阶乘
importjava.util.Scanner;
publicclassKnownTest{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
System.out.println("输入一个数字");
intn=sc.nextInt();
System.out.println("结果是:"+f(n));
}
publicstaticintf(intn){
intsum=1;
for(inti=1;i<=n;++i){
sum*=i;
}
returnsum;
}
}
㈦ 在java中,用递归方法计算n的阶乘。
用Java求键盘输入的数的阶乘n。(递归算法)packagejiecheng; importjava.util.*; //导入java.util包中的所有类classrep{ 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编程:写出求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的阶乘的公式
ints(intx){
if(x==1)
return1;
else
returns(x-1);
}
㈩ java n的阶乘
无语
public class jjjj {
int pp(int n)
{
if(n<2)
return 1*n;
else
return n*pp(n-1);
}
public static void main(String args[])
{
jjjj b=new jjjj();
int d=b.pp(5);
System.out.print(d);
}
}
阶乘就是利用递归啊。
整个程序的核心就是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本身。