扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
对模答于一般的比如20以内的阶乘 可以用int 但是你这个太大了洞敬
成都创新互联是一家网站设计公司,集创意、互联网应用、软件技术为一体的创意网站建设服务商,主营产品:响应式网站开发、品牌网站制作、成都营销网站建设。我们专注企业品牌在网站中的整体树立,网络互动的体验,以及在手机等移动端的优质呈现。做网站、网站制作、移动互联产品、网络运营、VI设计、云产品.运维为核心业务。为用户提供一站式解决方案,我们深知市场的竞争激烈,认真对待每位客户,为客户提供赏析悦目的作品,网站的价值服务。
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("");
}
}
启发一下就好啦~
for的嵌套循环的:
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循谈粗环的:
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循环
a=1; 散凳 //每次a都从1开始
for(int j=1;j=i;j++){ //求每个数的阶乘
a=a*j;
}
sum=a+sum; //每个数的阶乘求好后都加入sum
}
System.out.println(sum); //输出和sum
}
}
Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓冲带旅越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发行亩者专业社群。
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的奇数阶简晌乘和山庆为:"+sum);
}
}
public static long jiecheng(int i){
if(i==1){
return 1;
}else{
return i*jiecheng(i-1);
}
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流