對模答于一般的比如20以內的階乘 可以用int 但是你這個太大了洞敬
成都創(chuàng)新互聯(lián)是一家網(wǎng)站設計公司,集創(chuàng)意、互聯(lián)網(wǎng)應用、軟件技術為一體的創(chuàng)意網(wǎng)站建設服務商,主營產品:響應式網(wǎng)站開發(fā)、品牌網(wǎng)站制作、成都營銷網(wǎng)站建設。我們專注企業(yè)品牌在網(wǎng)站中的整體樹立,網(wǎng)絡互動的體驗,以及在手機等移動端的優(yōu)質呈現(xiàn)。做網(wǎng)站、網(wǎng)站制作、移動互聯(lián)產品、網(wǎng)絡運營、VI設計、云產品.運維為核心業(yè)務。為用戶提供一站式解決方案,我們深知市場的競爭激烈,認真對待每位客戶,為客戶提供賞析悅目的作品,網(wǎng)站的價值服務。
long都不夠 用double了 沒有限制輸出格式 所以是科學計數(shù)的 而且用double小數(shù)點后會出現(xiàn)誤差 這個知道吧 文件名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);
}
}
}
如果實在要求這么大的階乘 可以用數(shù)組方式解決
給你貼段代碼 以前網(wǎng)上某位寫的 忘記了 求階乘的
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; // 求出來的值的位數(shù)
System.out.println("------用數(shù)組解決大數(shù)問題---------");
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("");
}
}
啟發(fā)一下就好啦~
for的嵌套循環(huán)的:
public?class?Practice5?{
public?static?void?main(String[]?args)?{
long?sum?=?0,?c;
for?(int?i?=?1;?i?=?20;?i++)?{
c?=?1;
for?(int?b?=?1;?b?=?i;?b++)?{
c?*=?頌猛b;
}
sum?+=?c;
}
System.out.println("1到20的階乘和等于"?+?sum);
}
}
單個for循談粗環(huán)的:
public?class?Practice5?{
public?static?void?main(String[]?args)?{
long?sum?=?0,?c?=?1;
for?(int?i?=?1;?i?=?20;?i++)?{
c?*=?i;
sum?+=?c;
}
System.out.println("1到野侍橋20的階乘和等于"?+?sum);
}
}
java里1到10的階乘相加編程方法如下:
public class Factorial{? ? ? ? ? ? ? ? ? ?//類
public static void main(String [] args){ //主方法
int a=1;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //定義一個變量a
int sum=0;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //定義一個變量sum,把和存放在sum里
for(int i=1;i11;i++){? ? ? ? ? ? ? ? ? //做1-11循環(huán)
a=1;?散凳 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//每次a都從1開始
for(int j=1;j=i;j++){? ? ? ? ? ? ? ? ?//求每個數(shù)的階乘
a=a*j;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
}
sum=a+sum;? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//每個數(shù)的階乘求好后都加入sum
}
System.out.println(sum);? ? ? ? ? ? ? ? //輸出和sum
}
}
Java是一種可以撰寫跨平臺應用程序的面向對象的程序設計語言。Java?技術具有卓沖帶旅越的通用性、高效性、平臺移植性和安全性,廣泛應用于PC、數(shù)據(jù)中心、游戲控制臺、科學超級計算機、移動電話和互聯(lián)網(wǎng),同時擁有全球最大的開發(fā)行畝者專業(yè)社群。
public class JieChenghe{
public static void man(String args[]){
double sum=0;
for(int i=1;i=9;i=i+2){
sum=sum+jiecheng(i);
System.out.println("攔唯鋒1-9的奇數(shù)階簡晌乘和山慶為:"+sum);
}
}
public static long jiecheng(int i){
if(i==1){
return 1;
}else{
return i*jiecheng(i-1);
}
}