9月学习心得
#牛客创作赏金赛#(新手C++)
c++的变量声明时都有固定的空间,偶尔做到可能会数据溢出的题目,我就想了个小办法,将亿位及以上的数字另开一个变量存储,本来是想用数组模拟逢十进一的,但是数组还没学会。
int main()
{
int f=0;
int a1,a2,b1,b2,c1,c2;
cin >> a1 >> b1;
a2 = a1 % 100000000; //低位
a1 = a1 / 100000000; //高位
b2 = b1 % 100000000;
b1 = b1 / 100000000;
//cout << a1 << a2 << b1 << b2 << endl;
b1 = b1 * 11;
b2 = b2 * 11;
//运算
if (b2 / 100000000 != 0)
b1 += b2 / 100000000;
b2 = b2 % 100000000;
cout << b1 << b2 << endl;
c2 = a2 - b2;
c1 = a1 - b1;
//cout << c1 << c2 << endl;
//模拟进位
while (c1 > 0 && c2 < 0)
{
c1 -= 1;
c2 += 100000000;
}
//cout << "1:" << c1 << c2 << endl;
while (c1 < 0 && c2 > 0)
{
c1 += 1;
c2 -= 100000000;
}
//cout << "1:" << c1 << c2 << endl;
//准备输出格式
if (c1 == 0)
{
cout << c2;
f = 1;
}
if (c1 > 0)
{
cout << c1;
cout << setfill('0') << setw(9) << c2; //低位补位
f = 2;
}
if (c2 < 0)
{
cout << c1;
cout << setfill('0') << setw(8) << -c2; //低位补位
f = 3;
}
//cout<<f;
}
就是这题 NC275421 <嘤嘤不想做计几喵>
第一天花2小时没做出来,后面才想到可能是空间不够,又花了一个半小时,而且局限性很大,做乘法只能乘4位数甚至是3位数。
之后去网上学习了一下,发现有long long类型,秒了!
这道题算是完美解决了,但是还有道题 NC275612 <小红的三倍数>,10的100次,为什么没有long long long ...
那么,就只有一个办法了...
python!
启动!
c++的变量声明时都有固定的空间,偶尔做到可能会数据溢出的题目,我就想了个小办法,将亿位及以上的数字另开一个变量存储,本来是想用数组模拟逢十进一的,但是数组还没学会。
int main()
{
int f=0;
int a1,a2,b1,b2,c1,c2;
cin >> a1 >> b1;
a2 = a1 % 100000000; //低位
a1 = a1 / 100000000; //高位
b2 = b1 % 100000000;
b1 = b1 / 100000000;
//cout << a1 << a2 << b1 << b2 << endl;
b1 = b1 * 11;
b2 = b2 * 11;
//运算
if (b2 / 100000000 != 0)
b1 += b2 / 100000000;
b2 = b2 % 100000000;
cout << b1 << b2 << endl;
c2 = a2 - b2;
c1 = a1 - b1;
//cout << c1 << c2 << endl;
//模拟进位
while (c1 > 0 && c2 < 0)
{
c1 -= 1;
c2 += 100000000;
}
//cout << "1:" << c1 << c2 << endl;
while (c1 < 0 && c2 > 0)
{
c1 += 1;
c2 -= 100000000;
}
//cout << "1:" << c1 << c2 << endl;
//准备输出格式
if (c1 == 0)
{
cout << c2;
f = 1;
}
if (c1 > 0)
{
cout << c1;
cout << setfill('0') << setw(9) << c2; //低位补位
f = 2;
}
if (c2 < 0)
{
cout << c1;
cout << setfill('0') << setw(8) << -c2; //低位补位
f = 3;
}
//cout<<f;
}
就是这题 NC275421 <嘤嘤不想做计几喵>
第一天花2小时没做出来,后面才想到可能是空间不够,又花了一个半小时,而且局限性很大,做乘法只能乘4位数甚至是3位数。
之后去网上学习了一下,发现有long long类型,秒了!
这道题算是完美解决了,但是还有道题 NC275612 <小红的三倍数>,10的100次,为什么没有long long long ...
那么,就只有一个办法了...
python!
启动!
全部评论
相关推荐
09-26 16:06
门头沟学院 后勤 点赞 评论 收藏
分享