基本操作之try-catch
简单介绍一下try-catch:
异常捕获语法:
try{
可能出错的代码
}catch{
如果出错,如何处理的代码
}
蓝桥杯算法题:n的阶乘
问题描述
输入一个正整数n,输出n!的值。
其中n!=1*2*3*…*n。
算法描述
n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法。使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推。
将a乘以一个整数k变为将数组A的每一个元素都乘以k,请注意处理相应的进位。
首先将a设为1,然后乘2,乘3,当乘到n时,即得到了n!的值。
输入格式
输入包含一个正整数n,n<=1000。
输出格式
输出n!的准确值。
样例输入
10
样例输出
3628800
1 import java.util.ArrayList; 2 import java.util.Scanner; 3 4 public class Main { 5 public static void main(String args[]){ 6 Scanner sc = new Scanner(System.in); 7 int n = sc.nextInt(); 8 f(n); 9 } 10 11 private static void f(int n){ 12 ArrayList<Integer> A = new ArrayList<Integer>(); 13 A.add(1); 14 for(int i=2;i<n+1;i++){ 15 int book = 0; 16 for(int j=0;j<A.size();j++){ 17 int temp = A.get(j)*i+book; 18 A.set(j, temp%10); 19 book = temp/10; 20 if(book>0){ 21 try{ 22 A.get(j+1); 23 }catch (Exception e) { 24 A.add(j+1,0); 25 } 26 } 27 } 28 } 29 for(int i=A.size()-1;i>=0;i--){ 30 System.out.print(A.get(i)); 31 } 32 } 33 }
__EOF__

本文作者:techgy
本文链接:https://www.cnblogs.com/techgy/p/12490903.html
关于博主:I am a good person
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/techgy/p/12490903.html
关于博主:I am a good person
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~