蓝桥杯练习题阶乘计算

DemoRosie DemoRosie 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
蓝桥杯练习题阶乘计算

不知道有什么问题,感觉思路是没有错的,求解答

package Basic_VIP;

import java.util.ArrayList;
import java.util.Scanner;
public class Basic_30 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
ArrayList<Integer> alist = new ArrayList<>();
alist.add(1);
for (int i=1;i<=n;i++){
int size = alist.size();
for (int j=0;j<size;j++){
// 先把每一位乘以i,再进行进位
int temp = alist.get(j);
temp *= i;
alist.set(j,temp);
}
for (int m=0;m<size;m++){
int temp1 = alist.get(m);
if (temp1 > 10){
alist.set(m,temp1%10);
int tempResult = temp1/10;
if (size <= m+1){
alist.add(tempResult);
}else{
int temp2 = alist.get(m+1);
alist.set(m+1,temp2+tempResult);
}
}else{
alist.set(m,temp1);
}
}
}
for (int i=alist.size()-1;i>-1;i--){
System.out.print(alist.get(i));
}
}
}

...全文

相关推荐

评论
收藏 已收藏
分享
返回顶部
DemoRosie
非技术区 23,404 成员 70,506 内容