小明的A+B

wangchangle 2008-03-05 12:14:17
小明A+B
Time Limit:1000MS Memory Limit:32768K


Description:
小明今年3岁了, 现在他已经能够认识100以内的非负整数, 并且能够进行100以内的非负整数的加法计算. 对于大于等于100的整数, 小明仅保留该数的最后两位进行计算, 如果计算结果大于等于100, 那么小明也仅保留计算结果的最后两位. 例如, 对于小明来说: 1) 1234和34是相等的 2) 35+80=15 给定非负整数A和B, 你的任务是代表小明计算出A+B的值.
我的代码是:
#include<iostream>
using namespace std;
int main()
{
int m;
cin>>m;
while(m)
{
int a,b,c;
cin>>a>>b;
if(a>=100)
a=a%100;
if(b>=100)
b=b%100;
c=a+b;
if(c>=100)
c=c%100;
cout<<c<<endl;
}
return 0;
}
结果是:output time limited
请问是要用什么算法呢,位运算?谢谢回答~
...全文
101 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
abupie 2008-03-05
  • 打赏
  • 举报
回复
结果是:output time limited
是不是因为手工输入数据太慢了? 超过1000ms?

没有必要用位运算. 2楼的代码不错,减少了几次运算.
[Quote=引用 2 楼 Chappell 的回复:]
C/C++ code
#include <iostream>
using namespace std;
int main()
{

int a,b,c;
while(cin >> a>> b)
{
c = (a+b)%100;
cout <<c <<endl;
}
return 0;
}
[/Quote]
Chappell 2008-03-05
  • 打赏
  • 举报
回复

#include <iostream>
using namespace std;
int main()
{

int a,b,c;
while(cin >> a>> b)
{
c = (a+b)%100;
cout <<c <<endl;
}
return 0;
}
guanghong 2008-03-05
  • 打赏
  • 举报
回复
两行:
c=a+b;
c=c%100;
应该就行了
wangchangle 2008-03-05
  • 打赏
  • 举报
回复
打错了,其实是Output Limit Exceeded
用了2楼的代码,结果也是一样~~
相关推荐
发帖
C++ 语言

6.3w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
帖子事件
创建了帖子
2008-03-05 12:14
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下