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...
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("");
}
}

启发一下就好啦~2010-09-14
现思路:就是先计算出每个数的阶乘,之后在进行求和,一直循环100次结束循环即可。
public class Sum{
public static void main(String[] args) throws Exception {
int sum = 0;
int N = 100;
for(int i=1;i<=N;i++){
int temp = 1;
for(int j=1;j<=i;j++){
temp*=j;
}
sum+=temp;
}
System.out.println("结果为:"+sum);
}
}2015-11-05
//for
int i = 1;
int j = 1;
int sum;
for (; i <= n; i++) {
j = j * n;
sum = sum + j;
}
//while
int i = 1;
int j = 1;
int sum;
while(i <= n) {
j = j * n;
sum = sum + j;
i++
}
//do while
int i = 1;
int j = 1;
int sum;
do{
j = j * n;
sum = sum + j;
i++
}while(i <= n)//for
int i = 1;
int j = 1;
int sum;
for (; i <= n; i++) {
j = j * n;
sum = sum + j;
}
//while
int i = 1;
int j = 1;
int sum;
while(i <= n) {
j = j * n;
sum = sum + j;
i++
}
//do while
int i = 1;
int j = 1;
int sum;
do{
j = j * n;
sum = sum + j;
i++
}while(i <= n)//for//for
int i = 1;
int j = 1;
int sum;
for (; i <= n; i++) {
j = j * n;
sum = sum + j;
}
//while
int i = 1;
int j = 1;
int sum;
while(i <= n) {
j = j * n;
sum = sum + j;
i++
}
//do while
int i = 1;
int j = 1;
int sum;
do{
j = j * n;
sum = sum + j;
i++
}while(i <= n)//forint i = 1;
int j = 1;
int sum;
for (; i <= n; i++) {
j = j * n;
sum = sum + j;
}
//while
int i = 1;
int j = 1;
int sum;
while(i <= n) {
j = j * n;
sum = sum + j;
i++
}
//do while
int i = 1;
int j = 1;
int sum;
do{
j = j * n;
sum = sum + j;
i++
}while(i <= n)//for
int i = 1;
int j = 1;
int sum;
for (; i <= n; i++) {
j = j * n;
sum = sum + j;
}
//while
int i = 1;
int j = 1;
int sum;
while(i <= n) {
j = j * n;
sum = sum + j;
i++
}
//do while
int i = 1;
int j = 1;
int sum;
do{
j = j * n;
sum = sum + j;
i++
}while(i <= n)//for
int i = 1;
int j = 1;
int sum;
for (; i <= n; i++) {
j = j * n;
sum = sum + j;
}
//while
int i = 1;
int j = 1;
int sum;
while(i <= n) {
j = j * n;
sum = sum + j;
i++
}
//do while
int i = 1;
int j = 1;
int sum;
do{
j = j * n;
sum = sum + j;
i++
}while(i <= n)int i = 1;
int j = 1;
int sum;
for (; i <= n; i++) {
j = j * n;
sum = sum + j;
}
//while
int i = 1;
int j = 1;
int sum;
while(i <= n) {
j = j * n;
sum = sum + j;
i++
}
//do while
int i = 1;
int j = 1;
int sum;
do{
j = j * n;
sum = sum + j;
i++
}while(i <= n)//for
int i = 1;
int j = 1;
int sum;
for (; i <= n; i++) {
j = j * n;
sum = sum + j;
}
//while
int i = 1;
int j = 1;
int sum;
while(i <= n) {
j = j * n;
sum = sum + j;
i++
}
//do while
int i = 1;
int j = 1;
int sum;
do{
j = j * n;
sum = sum + j;
i++
}while(i <= n)//for
int i = 1;
int j = 1;
int sum;
for (; i <= n; i++) {
j = j * n;
sum = sum + j;
}
//while
int i = 1;
int j = 1;
int sum;
while(i <= n) {
j = j * n;
sum = sum + j;
i++
}
//do while
int i = 1;
int j = 1;
int sum;
do{
j = j * n;
sum = sum + j;
i++
}while(i <= n)2015-10-06
mengvlog 阅读 8 次 更新于 2025-07-20 10:12:56 我来答关注问题0
  •  腾云新分享 java编写程序求1!+3!+5!+......+99!的和,其中阶乘的计算用方法实现,谢谢!!!

    static long factorial(int n) { return n < 2 ? 1 : n * factorial(n - 1);} 使用这种方法,可以轻松计算出1!+3!+5!+...+99!的和。具体步骤如下:1. 首先,我们需要遍历所有奇数,从1开始到99。2. 对于每个奇数,调用getFac方法或factorial方法来计算其阶乘。3. 将计算出的阶乘...

  •  百度网友70ae8e86ac 用JAVA编写程序,计算1!+2!+3!+…+n!的和,其中阶乘的写一个方法实现。

    System.out.println("1到10的阶乘的和是:"+sum);} }

  • 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;...

  •  生活he家 Java程序,求n!的和1!+2!+3!+。。。+n!用for语句和while语句,别的我们还没学,求大神们帮忙!!!

    public class test { public static void main(String[] args) { int n = 5; int sum = 1; int sumall = 0; for (int i = 1; i

  •  fantasy316 求阶乘和,从1!加到30!用java编程语言

    import java.util.Scanner;public class jiecheng { public static void main(String[] args) { int i = 30;BigInteger n = new BigInteger("1");BigInteger n1 = new BigInteger("1");for (int j = 1; j

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部