gpt4 book ai didi

Java - 阶乘基数转换

转载 作者:行者123 更新时间:2023-12-02 07:15:39 27 4
gpt4 key购买 nike

我对编程比较陌生,但我正在尝试编写一个程序,将数字从 10 基数转换为阶乘基数,以帮助我解决更具挑战性的问题。阶乘基数将数字表示为阶乘之和;例如,19(以 10 为底)= 301(以阶乘为底),因为 3*3!+0*2!+1*1!=19。你可以在 http://en.wikipedia.org/wiki/Factorial_number_system 看到比我更好的解释。 。对于您可以输入的数字,完成此操作的最简单方法是什么?到目前为止,我已经能够简单地打印每个小于 10 的数字的阶乘:

for (int base = 1; base < 10; base++){
int factorial = 1;
for (int i = 1; i < base; i++){
factorial = factorial*i;}
System.out.println(factorial);}

我确信我犯了很多初学者错误;但我非常感谢您为此提供的任何帮助。感谢您抽出宝贵时间并提供任何帮助。

最佳答案

for (int base = 1; base < 10; base++);{

for 语句和左大括号之间不应该有分号。编译器将其解释为您的意思

for (...) { /* empty block */ }
{ // new, unrelated block
...
}

具体实现可以查看维基百科文章:

For instance, one can convert a number into factorial representation producing digits from right to left, by repeatedly dividing the number by the place values (1, 2, 3, ...), taking the remainder as digits, and continuing with the integer quotient, until this quotient becomes 0.

所以类似(未经测试,伪代码)...

int number = 463;
int radix = 1;
String result = ""; // prob use int[] or list in real life?

while (number > 0) {
int div = number / radix;
int remainder = number % radix;
result = remainder + result;
number = div;
++radix;
}

关于Java - 阶乘基数转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14963551/

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