PAT 1065 A+B and C(64bits)
来源:互联网 发布:施工方案生成软件 编辑:程序博客网 时间:2024/06/15 04:13
AC版本
//书上的想法是先把相加的结果存储到res中,通过判断两数正负和res正负来判断是否溢出
//不溢出的话,再用res和c比较。//通过flag(注意是布尔型的)来表示true 和flase,到最后一起输出,比较简便
#include<stdio.h>
int main(){
int T,tcase=1;
//long long a=0,b=0,c=0;
scanf("%d",&T);
while(T--){
long long a,b,c;
scanf("%lld%lld%lld",&a,&b,&c);//这个地方一开始写成了%d,注意
long long res=a+b;//可能溢出,但是溢出也会有结果,在long long 范围内的结果。双正相加结果为负正溢出,双负相加结果为正负溢出
//如果一正一负相加,结果不可能溢出的
bool flag;
if(a>0&&b>0&&res<0){
//说明是正溢出
flag=true;
}
else if(a<0&&b<0&&res>=0){//这个地方极其注意是>=0,但是我想不懂为什么这里要特殊注意,而上面不要。应该是最小比最大多1的问题吧
//说明是负溢出
flag=false;
}
else if(res>c)
//正常相加后结果大于c
flag=true;
else
flag=false;
if(flag==true)
printf("Case #%d: true\n",tcase++);
else
printf("Case #%d: false\n",tcase++);
}
return 0;
}
dec版本
//我的这个做法似乎是栈溢出,也可能不是。。为什么不能成功我不懂不懂
//没有错误,有警告,并且运行结果不是全部正确
//明确一点,在c语言中,有int——4个字节(10^9以内,-2^31~2^31,对应%d),long long——8个字节(-2^63~2^63,对应%lld)
#include<cstdio>
int main(){
//这题其实想到先加起来和固定边界值比较一下,解决就非常easy了
int n;
long long a=0,b=0,c=0;
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%lld%lld%lld",&a,&b,&c);
if(a+b>1L<<63){
//说明必定比c大
printf("Case #%d:true\n",i);
}
else if(a+b<-(1L<<63)){//是否是2^63写的不对呢?
//说明必定比c小
printf("Case #%d:false\n",i);
}
else{
//说明 -2^63<a+b2^63,所以可以比较大小了
if(a+b>c)
printf("Case #%d:true\n",i);
else
printf("Case #%d:false\n",i);
}
}
return 0;
}
- PAT 1065 A+B and C(64bits)
- PAT A+B and C (64bit)
- 浙大PAT 1065 A+B and C (64bit) (20)
- PAT A 1065. A+B and C (64bit) (20)
- PAt-A 1065. A+B and C(64bit)
- PAT-A 1065. A+B and C (64bit) (20)
- PAT-A-1065. A+B and C (64bit) (20)
- 【PAT】1065. A+B and C (64bit) (20)
- 浙大PAT 1065. A+B and C (64bit) (20)
- PAT 1065. A+B and C (64bit) (20)
- PAT 1065. A+B and C (64bit) (20)
- PAT 1065. A+B and C (64bit)
- ZJU-PAT 1065. A+B and C (64bit) (20)
- PAT 1065. A+B and C (64bit) (20)
- PAT 1065. A+B and C (64bit) (20)
- PAT 1065. A+B and C (64bit) (20)
- PAT:1065. A+B and C (64bit) (20)
- PAT-A1065 A+B and C (64bit)(模拟)
- 算法之分治——最坏情况线性时间的选择
- IOS游戏开发的物理引擎基础
- 1019_数字黑洞 (20)
- 利用keepalived构建高可用MySQL-HA
- easyui datagrid批量编辑后向后台post数据
- PAT 1065 A+B and C(64bits)
- IOS使用SpritKit开发游戏实例
- 响应式布局
- 【Eclipse】【FAQ】使用eclipse时,无论是点击编译还是选择自动编译还是清除后编译,编译失效,该怎么办?
- IOS多线程后台运行实例
- 算法之分治——期望线性时间的选择(基础版本的选择)
- jquery的is原来不能对id使用
- log4j.properties配置详解
- Android 获取Rom厂商信息