蓝桥杯练习题阶乘计算

DemoRosie 2020-10-11 08:07:46
蓝桥杯练习题阶乘计算

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

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));
}
}
}

...全文
11 点赞 收藏 回复
写回复
回复
切换为时间正序
请发表友善的回复…
发表回复
相关推荐
发帖
非技术区
创建于2007-09-28

2.3w+

社区成员

Java 非技术区
申请成为版主
帖子事件
创建了帖子
2020-10-11 08:07
社区公告
暂无公告