今天给各位分享用java计算n的阶乘和的知识,其中也会对java实现n的阶乘进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
1、java计算n的阶乘2、高分悬赏:java 语言编写 1到N的阶乘的和3、用java求1到30 的阶层和 用方法4、java求1到N的阶乘的和,N等于一百,初学JAVA,求程序代码5、Java求阶乘的和
java计算n的阶乘
int n=8;
int p=n;
for(int i=n;i1;i–){
p*=i;
}
print(“%d\n”,p);
高分悬赏: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求1到30 的阶层和 用方法
阶乘的公式是
n!=n*(n-1)*(n-2)….*2*1
这个公式可以通过一个java的循环来实现,也就是第一种方法。
for(int i=number; i0;i–)
这个循环在i=0的时候结束, 而阶乘的结果通过result*=i来计算。
public static int compute(int number)
{
int result=1;
for(int i=number;i0;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求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求阶乘的和
// 刚写的程序(C语言基础最重要哦~继续努力哦~)
public class TestCase
{
public static void main(String args[])
{
// 例如: 1!+2!+3!=9
TestCase.calc(3);
}
public static void calc(int n)
{
int r = 0;
boolean flag = false;
String formate = “”;
for (int i = 1; i = n; i++)
{
r = r + TestCase.factorial(i);
if (flag)
{
formate = formate + “+” + i + “!”;
}
else
{
formate = formate+ i + “!”;
flag = true;
}
System.out.println(formate + “=” + r);
}
System.out.println(“结果是:” + r);
}
public static int factorial(int n)
{
int r = 1;
for (int i = 1; i = n; i++)
{
r = r * i;
}
return r;
}
}
关于用java计算n的阶乘和和java实现n的阶乘的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。