杭电2116
来源:互联网 发布:angular js new array 编辑:程序博客网 时间:2024/06/14 00:55
这题看起来很简单!可我都不知道WA了多少次了,这题不能直接用数学里的pow函数,应该是用数组,然后利用连乘的方法求2的多少次方!不过还有个地方要注意,有好多人都不会想到,故直接提交!还有就是一定要用G++提交,我一开始用c提交,WA了好多次,然后用c++提交,还是错了好多次,最后用G++提交才有用,至于为什么,我也不清楚
#include<cstdio>
#include<cmath>
__int64 a[64],b[64];
int main()
{
int t,i;
__int64 n,m,sum,c,d;
c=0;d=-1;
for(i=0;i<64;i++)
{
a[i]=c;
b[i]=d;
c=c*2+1;
d=d*2;
}
while(scanf("%d",&t)!=EOF)
{
scanf("%I64d%I64d",&n,&m);
sum=n+m;
if(t==64)
{
if(n>=0&&m<=0||n<=0&&m>=0)
printf("WaHaHa\n");
else if(n>0&&m>0&&sum<=0||n<0&&m<0&&sum>=0)
printf("Yes\n");
else
printf("WaHaHa\n");
continue;
}
if(sum>=b[t-1]&&sum<=a[t-1])
printf("WaHaHa\n");
else
printf("Yes\n");
}
return 0;
}
当k=64的时候我们无法通过上下界来判断是否溢出了但是我们能通过异常来得出。比方说a和b都大于0,但是他们的和却小于等于0或者a和b都小于0,但是他们的和却大于等于0这些是溢出的表现
- 杭电2116
- 杭电
- 杭电
- 杭电
- 杭电2116Has the sum exceeded
- 杭电 1234 和 杭电 2115
- 杭电2056之Rectangles 杭电
- 杭电ACM1061Rightmost Digit
- 杭电2099 7.11
- 杭电ACM 1003
- 杭电 ACM 2016
- 杭电ACM1466
- 杭电ACM1003
- 杭电ACM1225
- 杭电ACM2023
- 杭电ACM2602
- 杭电ACM2955
- 杭电ACM3198
- typedef和typedef struct的区别
- 造第一个SIP包REGISTER
- SQL Server 2008连接com.microsoft.sqlserver.jdbc.SQLServerException: 到主机
- pendingIntent的简单理解
- 判断单链表是否存在环以及两个链表是否相交
- 杭电2116
- 欧拉函数
- iframe之间的通信与操作
- iReport中序号自增的实现
- VS2008 SP1 安装卡在 VS90sp1-KB945140-X86-CHS的解决方法
- ubuntu下假设ftp服务器的方法
- stm32f407开发板的时钟配置问题
- Essential Job Skill for Life
- 重绘组件