扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
import java.util.Scanner;
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、虚拟主机、营销软件、网站建设、城东网站维护、网站推广。
public class A{
//下面的方法是对单个数求阶乘,并返回
public static int jieCheng(int n){
int sum=1;
for(int i=1;i=n;i++){
sum*=i;
}
return sum;
}
//下面是对所有数求阶乘,再全部相加,并返回
public static int add(int n){
int sum=0;
for(int i=1;i=n;i++){
sum+=jieCheng(i); //调用上面的方法,对单个求阶乘,再全部相加
}
return sum;
}
public static void main(String[] args){
Scanner input=new Scanner(System.in);
System.out.println("请输入数字:");
int n=input.nextInt();
System.out.println("运算得到:"+add(n));
}
}
//总结:此题有个特点,n等于要相加的数字的总数,也等于要求阶乘的最大数
对于一般的比如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("");
}
}
启发一下就好啦~
int m=0;
int n=1;
int sum=0;
int j=0;
Scanner in=new Scanner(System.in);
int k=in.nextInt();
while(k!=0){
n=n*k;
k=k-1;
}
System.out.println(k);//求出阶乘结果
while(k!=0){
j=k%10;
k=k/10;
sum=sum+j;
}
System.out.println(sum);//求出每位的和
import java.util.Scanner;
public class JieCheng
{
public static void main(String[] args)
{
Scanner s=new Scanner(System.in);
int sum=0;
int num=s.nextInt();
for(int i=1;inum;i++)
{
sum+=add(i);
}
System.out.println(sum);
}
public static int add(int x)
{
int sum = 1;
for (int i = 2; i =x; i++)
{
sum = sum * i;
}
return sum;
}
}
1、首先在电脑打开eclipse软件,创建Scanner对象。
2、然后输出信息,请求用户输入要输入计算的阶乘数。代码:System.out.println("请输入要计算的阶乘数:");
3、然后创建num接受键盘输入的信息。再创建n,sum。
4、然后创建for语句,进行计算阶乘。
5、然后在最后,输出所算的阶乘结果。代码:System.out.println(n+"的阶乘为"+sum);
6、然后再点击程序运行按钮。在下面的窗口就可以看到运行结果。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流