对于一般的比如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