NYOJ--517--最小公倍数(大数打表)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NYOJ--517--最小公倍数(大数打表)相关的知识,希望对你有一定的参考价值。

最小公倍数

时间限制:1000 ms  |  内存限制:65535 KB
难度:3
 
描述
为什么1小时有60分钟,而不是100分钟呢?这是历史上的习惯导致。
但也并非纯粹的偶然:60是个优秀的数字,它的因子比较多。
事实上,它是1至6的每个数字的倍数。即1,2,3,4,5,6都是可以除尽60。
 
我们希望寻找到能除尽1至n的的每个数字的最小整数m.
 
输入
多组测试数据(少于500组)。
每行只有一个数n(1<=n<=100).
输出
输出相应的m。
样例输入
2
3
4
样例输出
2
6
12
  1 //打表
  2 import java.math.BigDecimal;
  3 import java.math.BigInteger;
  4 import java.util.Scanner;
  5 public class Main{
  6     
  7     public static void main(String args[]){
  8         Scanner cin = new Scanner(System.in);
  9         /*final int MAX = 105;
 10         int arr[] = new int[MAX];
 11         BigInteger res[] = new BigInteger[MAX];
 12         for(int i=1; i<MAX; ++i)arr[i] = i;
 13         for(int i=2; i<MAX; ++i){
 14             for(int j=i+1; j<MAX; ++j){
 15                 if(j%i == 0)
 16                     arr[j] /= arr[i];
 17             }
 18         }
 19         for(int i=1; i<MAX; ++i)res[i] = BigInteger.ONE;
 20         for(int i=2; i<MAX; ++i){
 21             for(int j=2; j<i; ++j){
 22                 res[i] = res[i].multiply(BigInteger.valueOf(arr[j]));
 23             }
 24         }
 25         for(int i=1; i<101; ++i){
 26             int n = i;
 27             System.out.println("\""+res[n+1] + "\",");
 28         }*/
 29         String s[] = {
 30                 "1",
 31                 "2",
 32                 "6",
 33                 "12",
 34                 "60",
 35                 "60",
 36                 "420",
 37                 "840",
 38                 "2520",
 39                 "2520",
 40                 "27720",
 41                 "27720",
 42                 "360360",
 43                 "360360",
 44                 "360360",
 45                 "720720",
 46                 "12252240",
 47                 "12252240",
 48                 "232792560",
 49                 "232792560",
 50                 "232792560",
 51                 "232792560",
 52                 "5354228880",
 53                 "5354228880",
 54                 "26771144400",
 55                 "26771144400",
 56                 "80313433200",
 57                 "80313433200",
 58                 "2329089562800",
 59                 "2329089562800",
 60                 "72201776446800",
 61                 "144403552893600",
 62                 "144403552893600",
 63                 "144403552893600",
 64                 "144403552893600",
 65                 "144403552893600",
 66                 "5342931457063200",
 67                 "5342931457063200",
 68                 "5342931457063200",
 69                 "5342931457063200",
 70                 "219060189739591200",
 71                 "219060189739591200",
 72                 "9419588158802421600",
 73                 "9419588158802421600",
 74                 "9419588158802421600",
 75                 "9419588158802421600",
 76                 "442720643463713815200",
 77                 "442720643463713815200",
 78                 "3099044504245996706400",
 79                 "3099044504245996706400",
 80                 "3099044504245996706400",
 81                 "3099044504245996706400",
 82                 "164249358725037825439200",
 83                 "164249358725037825439200",
 84                 "164249358725037825439200",
 85                 "164249358725037825439200",
 86                 "164249358725037825439200",
 87                 "164249358725037825439200",
 88                 "9690712164777231700912800",
 89                 "9690712164777231700912800",
 90                 "591133442051411133755680800",
 91                 "591133442051411133755680800",
 92                 "591133442051411133755680800",
 93                 "1182266884102822267511361600",
 94                 "1182266884102822267511361600",
 95                 "1182266884102822267511361600",
 96                 "79211881234889091923261227200",
 97                 "79211881234889091923261227200",
 98                 "79211881234889091923261227200",
 99                 "79211881234889091923261227200",
100                 "5624043567677125526551547131200",
101                 "5624043567677125526551547131200",
102                 "410555180440430163438262940577600",
103                 "410555180440430163438262940577600",
104                 "410555180440430163438262940577600",
105                 "410555180440430163438262940577600",
106                 "410555180440430163438262940577600",
107                 "410555180440430163438262940577600",
108                 "32433859254793982911622772305630400",
109                 "32433859254793982911622772305630400",
110                 "97301577764381948734868316916891200",
111                 "97301577764381948734868316916891200",
112                 "8076030954443701744994070304101969600",
113                 "8076030954443701744994070304101969600",
114                 "8076030954443701744994070304101969600",
115                 "8076030954443701744994070304101969600",
116                 "8076030954443701744994070304101969600",
117                 "8076030954443701744994070304101969600",
118                 "718766754945489455304472257065075294400",
119                 "718766754945489455304472257065075294400",
120                 "718766754945489455304472257065075294400",
121                 "718766754945489455304472257065075294400",
122                 "718766754945489455304472257065075294400",
123                 "718766754945489455304472257065075294400",
124                 "718766754945489455304472257065075294400",
125                 "718766754945489455304472257065075294400",
126                 "69720375229712477164533808935312303556800",
127                 "69720375229712477164533808935312303556800",
128                 "69720375229712477164533808935312303556800",
129                 "69720375229712477164533808935312303556800",
130         };
131         while(cin.hasNext()){
132             int n = cin.nextInt();
133             System.out.println(s[n-1]);
134         }
135     }
136 }

 

以上是关于NYOJ--517--最小公倍数(大数打表)的主要内容,如果未能解决你的问题,请参考以下文章

HDU 1223 打表 + 大数

HDU 1023 Train Problem II 大数打表Catalan数

Twice Equation

NYOJ-幸运三角形

hdu2302(枚举,大数取模)

Java大数BigInteger-用法记录