蓝桥杯练习题阶乘计算

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

...全文
42 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

23,404

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧