专栏文章
题解:P12681 【MX-J15-T1】叉叉学习数据类型
P12681题解参与者 14已保存评论 15
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 15 条
- 当前快照
- 1 份
- 快照标识符
- @mip5que0
- 此快照首次捕获于
- 2025/12/03 06:36 3 个月前
- 此快照最后确认于
- 2025/12/03 06:36 3 个月前
出题人没说用哪个什么编译器那就按 32 位编译器算吧。
背过数据范围的同学都知道:
int:;int:;int:;int:;string:并无范围,看你内存大小咯。写个高精度比大小然后硬算就行了。
CPP#include<bits/stdc++.h>
using namespace std;
// -1 -> a<b
// 1 -> a>b
// 0 -> a=b
int bdx(string s1,string s2){
int i=0,op=1;
if(s1[0]=='-'&&s2[0]==s1[0])op=-1,i++;
if(s1[0]=='-'&&op==1)return -1*op;
if(s2[0]=='-'&&op==1)return 1*op;
if(s1==s2)return 0*op;
else if(s1.size()<s2.size())return -1*op;
else if(s1.size()>s2.size())return 1*op;
for(;i<s1.size();i++){
if(s1[i]<s2[i])return -1*op;
else if(s1[i]>s2[i])return 1*op;
}
}
string s;
int f(string x){
return bdx(s,x);
}
int main(){
cin>>s;
if(f("-2147483648")>=0&&f("2147483647")<=0)puts("int");
if(f("0")>=0&&f("4294967295")<=0)puts("unsigned int");
if(f("-9223372036854775808")>=0&&f("9223372036854775807")<=0)puts("long long");
if(f("0")>=0&&f("18446744073709551615")<=0)puts("unsigned long long");
puts("string");
return 0;
}
相关推荐
评论
共 15 条评论,欢迎与作者交流。
正在加载评论...