java实现123n_用Java编程 :输入一个正整数n,输出n!的值。 其中n!=1*2*3*…*n。 求高手指点...
展開全部
給你寫了個(gè)程序可以實(shí)現(xiàn),比如32313133353236313431303231363533e4b893e5b19e31333332643235在主函數(shù)輸入5,則輸出表示5!(120)的數(shù)組[0, 2, 1],其中0表示個(gè)位數(shù),2表示十位數(shù),1表示百位數(shù),程序如下:public?static?void?factor(int?n)?{
int[]?product?=?{1};
//從1開始,循環(huán)相乘,比如[1]?*?2?->?[2]
//[2]?*?3?->?[6]
//[6]?*?4?->?[4,?2]
for?(int?i?=?1;?i?
product?=?helper(product,?i?+?1);
}
System.out.print(Arrays.toString(product));//輸出結(jié)果
}
public?static?int[]?helper(int[]?s,?int?m)?{
//計(jì)算一個(gè)數(shù)組s乘以m的值,比如120?*?6的值,s為[0,?2,?1],m為6
int?i,?temp?=?0;
int[]?result?=?new?int[s.length?+?(s[s.length?-?1]?*?m?+?"").length()?-?1];
for?(i?=?0;?i?
result[i]?=?(s[i]?*?m?+?temp)?%?10;
if?(s[i]?*?m?+?temp?>=?10)
temp?=?(s[i]?*?m?+?temp)?/?10;
else
temp?=?0;
}
if?(temp?!=?0)?{
for?(int?j?=?0;?j?
result[i?+?j]?=?temp?%?10;
if?(temp?>=?10)
temp?=?temp?/?10;
else
temp?=?0;
}
}
return?result;
}
public?static?void?main(String[]?args)?{
factor(23);
}
在該Java文件里要引入一個(gè)包:import?java.util.Arrays;
這個(gè)是為了輸出結(jié)果的時(shí)候方便。
如果程序讀不懂,有問題再追問。
總結(jié)
以上是生活随笔為你收集整理的java实现123n_用Java编程 :输入一个正整数n,输出n!的值。 其中n!=1*2*3*…*n。 求高手指点...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java session 生命周期_Ja
- 下一篇: java dataconvert_Jav