计算n的阶乘(大数) 喜欢ヅ旅行 2023-07-15 13:22 31阅读 0赞 import java.util.Scanner; public class Main { public static void main(String[] args){ // TODO Auto-generated method stub Scanner in = new Scanner(System.in); // 最大存储位数1000位 int[] nums = new int[1000]; // (下标0,1,2....分别代表个位,十位,百位) String num = ""; int k = 0; int n = 0; System.out.println("n阶乘"); System.out.print("输入n:"); n = in.nextInt(); nums[0] = 1; System.out.printf("%d的阶乘为:",n); if(n==0) { System.out.println(1); } else if(n>0) { for(int i=1;i<=n;i++) // 求后面n次 { for(int j=0;j<nums.length;j++) { int sum = 0; if(j==0) { nums[j] *= i; } else if(nums[j-1] < 10) // 若上次进位查看上次是否小于10 { nums[j] *= i; } else // 若上次进位查看上次是否大于等于10,从上次位置开始 { j--; } if(nums[j] >= 10) // 大于等于10向前进位 { sum = nums[j]/10; nums[j] %= 10; } if(sum != 0) // 向前进位 { // 要先求上位在加上进位 j++; nums[j] *= i; nums[j] += sum; } } } for(int i=nums.length-1;i>=0;i--) // 找到最后一位非零,即最高位 { if(nums[i] != 0) { k = i; break; } } for(int i=k;i>=0;i--) { num += nums[i]; } System.out.println(num); } in.close(); } }
相关 计算n的阶乘(大数) import java.util.Scanner; public class Main { public static void 喜欢ヅ旅行/ 2023年07月15日 13:22/ 0 赞/ 32 阅读
相关 大数阶乘 问题描述: 输入不超过1000的正整数,输出它的 阶乘的精确结果。 解题思路: 用数组分别记录阶乘结果么每位数字。 include<stdio.h> 川长思鸟来/ 2022年08月08日 13:59/ 0 赞/ 45 阅读
相关 大数阶乘 描述 我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它? 输入 输入一个整数m(0<m<=5000) 输出 输出m的阶乘, 男娘i/ 2022年08月02日 01:27/ 0 赞/ 452 阅读
相关 大数阶乘 大数阶乘 时间限制: 3000 ms | 内存限制: 65535 KB 难度: 3 描述 我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计 - 日理万妓/ 2022年07月12日 15:48/ 0 赞/ 271 阅读
相关 大数问题——大数阶乘 大数阶乘 时间限制: 3000 ms | 内存限制: 65535 KB 难度: 3 描述 我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计 小灰灰/ 2022年06月13日 13:36/ 0 赞/ 287 阅读
相关 计算n的阶乘 include <stdio.h> include <stdlib.h> / run this program using the conso 偏执的太偏执、/ 2022年06月07日 07:08/ 0 赞/ 218 阅读
相关 大数阶乘 import java.math.BigInteger; import java.util.Scanner; public class Big 一时失言乱红尘/ 2022年06月06日 11:29/ 0 赞/ 271 阅读
相关 大数阶乘 用data数组来存放阶乘的每一位数字,首先令第一位的数值为1,位数为1,然后将每次相乘的乘积存回数组,并循环处理每个数组中超过10的数,若数值超过10,则需要进位,将位数加1 电玩女神/ 2022年06月01日 08:00/ 0 赞/ 289 阅读
相关 大数阶乘 求大数阶乘前要计算下最大数阶乘的位数 以便于知道需要开多大的数组 . 第一种求法 : lg(N!)=\[lg(N\(N-1)\(N-2)\......\3\2\1 我就是我/ 2022年05月27日 06:47/ 0 赞/ 255 阅读
相关 c语言计算大数阶乘 问题描述 输入一个正整数n,输出n!的值。 其中n!=1\2\3\…\n。 算法描述 n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法 淩亂°似流年/ 2022年03月18日 06:22/ 0 赞/ 328 阅读
还没有评论,来说两句吧...