NYOJ 517 最小公倍数
来源:互联网 发布:近期网络热点话题 编辑:程序博客网 时间:2024/05/10 09:35
最小公倍数
时间限制: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。
- 样例输入
234
- 样例输出
26
12
思路:就是求出1-n每一个数两两之间化简到不能整除然后再将其相乘,不断地更新。
代码:
#include<stdio.h>#include<cstring>#include<iostream>#include<algorithm>#include<math.h>#include<stdlib.h>#include<stack>#include<vector>#include<string.h>#include<map>#define INF 0x3f3f3f3f3fusing namespace std;int main(){ int a[1001]; for(int i=1;i<=102;i++) { a[i]=i; }//赋值 for(int i=2;i<=102;i++) { for(int j=i+1;j<=102;j++) { if(a[j]%a[i]==0)//两个数两个数进行对比,如果后一个数可以将后一个数整除就将a[j]=a[j]/a[i];保证两个数所有的数之间没有公因数 { a[j]/=a[i]; } } } int n; while(~scanf("%d",&n)) { int b[1001],ans; memset(b,0,sizeof(b));//将b初始化 b[0]=1; for(int i=2;i<=n;i++) { int m=0; for(int j=0;j<1001;j++)//大数相乘 { ans=b[j]*a[i]+m; b[j]=ans%10; m=ans/10; } } int flag; for(int i=1001-1;i>=0;i--)//倒着输出,去掉前导0 { if(b[i]!=0) { flag=i; break; } } for(int i=flag;i>=0;i--) { printf("%d",b[i]); } printf("\n"); }}
0 0
- NYOJ-517 最小公倍数 TLE
- 最小公倍数(nyoj 517)
- [NYOJ 517]最小公倍数
- nyoj 517 最小公倍数
- NYOJ 517 最小公倍数
- NYOJ 517 最小公倍数
- NYOJ 517 最小公倍数 (Java)
- nyoj-517 最小公倍数
- nyoj 517 最小公倍数 【java大数】
- NYOJ-517-最小公倍数,大数啊~~~
- NYOJ 517 最小公倍数(C/C++)
- nyoj 517 最小公倍数(大数+求最小公倍数思想)
- NYOJ 517 最小公倍数 (1-n 个数的最小公倍数,大数)
- nyoj-517 求1-n的最小公倍数
- NYOJ 517 最小公倍数(java实现)
- NYOJ 题目517 最小公倍数(大数)
- nyoj 517 最小公倍数【数学】大数处理
- NYOJ最大公因数最小公倍数
- 函数作用域和块作用域
- ViewGroup为什么不会调用onDraw
- Java实现序列化的理解
- 深度学习 训练优化方法讲述
- java.naming.factory.url.pkgs 的用途
- NYOJ 517 最小公倍数
- python爬虫框架(scrapy)
- iOS常见问题之 "_kUTTagClassFilenameExtension", referenced from:
- WindowManagerService如何管理应用程序窗口
- 监听textFiled单个字符输入 并做筛选
- adb shell的使用
- iOS 开发 APP集成微信分享功能遇到的问题-2016-10月
- JDK动态代理实现原理