gpt4 book ai didi

java - 欧拉项目数字阶乘的总和

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:34:53 24 4
gpt4 key购买 nike

这里是关于数字阶乘和的问题

http://projecteuler.net/index.php?section=problems&id=254

这里也是 定义 sf(n) 为 f(n) 的数字之和。所以 sf(342) = 3 + 2 = 5。

这是打印 32 作为数字阶乘之和的代码,但它没有显示第二个结果

import java.util.*;
public class fact_of_digit1 {
public static int fact(int a){
if (a==0) return 1;
return a*fact(a-1);
}
public static int factorialofdigit(int a){
int sum=0;
int t=0;
while (a!=0){
t= a%10;
a/=10;
sum+=fact(t);
}
return sum;

}
public static void main(String[] args) {
Scanner scnr=new Scanner (System.in);
System.out.println("enter a:");
int a=scnr.nextInt();
System.out.println(factorialofdigit(a));
System.out.println(sfn(a));
}
public static int sfn(int a){
int sum1=0;
int t=factorialofdigit(a);
while (t!=0){
sum1+=t%10;
t/=10;



}
return sum1;
}

}

结果是:

enter a:
342
32
BUILD SUCCESSFUL (total time: 3 seconds)

最佳答案

代码看起来不错,并且可以在此处运行,因此它可能与 IDE 或您如何使用它有关。

您是否正在运行 Debug模式?有没有设置断点?

如果您创建一个新项目并将代码复制到其中会怎样?

下面的程序行得通吗?

import java.util.*;
public class fact_of_digit1 {
public static void main(String[] args) {
Scanner scnr=new Scanner (System.in);
System.out.println("enter a:");
int a=scnr.nextInt();
System.out.println(5);
System.out.println(3);
}
}

用“int a = 342”替换扫描仪。

在最后添加一个额外的 println 语句。

关于java - 欧拉项目数字阶乘的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3174830/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com