hdu 1019 Least Common Multiple
2016-07-11 14:41
375 查看
WA了好几发,原因是越界。
原来的处理方法是用long long避免越界,思路是对的,但在处理过程中出现了小差错。
例子:
这种写法是错的,因为在右边两个int相乘时就越界了。
正确写法是
或者也可以C语言点滴上介绍的简单防止溢出的方法:
下面贴代码
原来的处理方法是用long long避免越界,思路是对的,但在处理过程中出现了小差错。
例子:
int a,b; long long chengji; chengji=a*b;
这种写法是错的,因为在右边两个int相乘时就越界了。
正确写法是
int a,b; long long chengji; chengji=(long long)a*(long long)b;
或者也可以C语言点滴上介绍的简单防止溢出的方法:
int a,b,gcd,lcm; lcm=a/gcd*b;
下面贴代码
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; int gcd(int x,int y) { if(y==0) return x; else return(gcd(y,x%y)); } int lcm(int x,int y) { long long chengji; chengji=(long long)x*(long long)y; return(int)(chengji/gcd(x,y)); } int main(void) { int m,n,x,ans=1; scanf("%d",&m); for(int i=0;i<m;i++) { ans=1; scanf("%d",&n); if(n==0) continue; while(n--) { scanf("%d",&x); ans=lcm(ans,x); } if(i!=0) printf("%d\n",ans); else printf("%d\n",ans); } return 0; }
相关文章推荐
- Redis设计与实现--类型检查与命令多态
- php:similar_text()函数的相关解析
- HDU 1710 Binary Tree Traversals 二叉树
- TabHost的使用【个人觉得碎片实现更好一点】
- activity详解(一)
- mybatis3 添加ehcache支持
- HTTP::Request
- emmet
- Asp.net core mvc里面怎么添加全局的Filter
- 在Mac OS X上的Android Studio中安装Genymotion模拟器并在模拟器中运行APP
- Bzoj1407 Savage
- dubbo服务器集群的时候,测试服务器更新了最新代码,开发还未更新,调用接口的时候时好时坏
- 将pdf在线转换成图片格式的方法
- 开始我的进阶之路
- js中return的作用
- hadoop1.x和2.x的一些主要区别
- HTTP::Request
- HTTP::Request
- mysql 密码问题解决方案
- IOS用CGContextRef画各种图形(文字、圆、直线、弧线、矩形、扇形、椭圆、三角形、圆角矩形、贝塞尔曲线、图片)