青蛙王子题,超时,求解

fiahyjw 2011-04-19 10:45:22
青蛙王子
Acceteped : 665 Submit : 1872
Time Limit : 1000 MS Memory Limit : 65536 KB

Description
一个王子被巫师诅咒,变成了一只青蛙。500年后的一天,青蛙王子碰到了一个仙女,仙女告诉他,如果他能通过一个简单的测试,她就能帮他解除诅咒。测试是这样子的,仙女要青蛙王子在一条直线上跳跃(青蛙王子最开始站在坐标为0的地方),但只能按照她给定的两种长度跳跃(假设这两种长度王子都能跳到),可以往前或者往后跳,如果能达到指定的地点,那么就通过测试;仙女给定的方式有多种,但有些是不可能满足达到指定地点的。请你帮帮可怜的青蛙王子,寻找出那些可以完成测试的跳跃方式。

输入
每个样例占一行,为3个整数,都可以用一个unsigned int表示。前两个表示可以跳跃的长度,最后一个表示需要达到的地点的坐标。如果三个数为0,表示输入结束。

输出
每行输出一个样例的结果,如果可以到达指定的地点,输出Yes,否则输出No。


Sample Input
2 5 9
3 7 2
4 8 3
0 0 0


Sample Output
Yes
Yes
No


一下是我的一个程序

#include<iostream>
using namespace std;
int main()
{
int a,b,c;
cin>>a>>b>>c;
while(a||b||c)
{
while(a!=b)
{
if(a>b) a=a-b;
else b=b-a;
}
if(c%a) cout<<"No"<<endl;
else cout<<"Yes"<<endl;
cin>>a>>b>>c;
}
}


while语句超时,求一个好一点的程序
...全文
200 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fiahyjw 2011-04-19
  • 打赏
  • 举报
回复
b开始给你0就出错了,哈哈
fiahyjw 2011-04-19
  • 打赏
  • 举报
回复
少考虑 0 0 1的情况了,还是谢谢了
Ulfsaar 2011-04-19
  • 打赏
  • 举报
回复
注册不了,你自己试试看

#include<iostream>
using namespace std;
int main()
{
int a,b,c;
cin>>a>>b>>c;
while(a||b||c)
{
int temp;
while(a%b)
{
temp=b;
b=a%b;
a=temp;
}

if ( c%b == 0 )
{
cout<<"Yes"<<endl;
}
else
{
cout<<"No"<<endl;
}

cin>>a>>b>>c;
}
}
showjim 2011-04-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sbwwkmyd 的回复:]
最小公倍数的问题
[/Quote]
不是最小公倍数,应该是最大公约数
showjim 2011-04-19
  • 打赏
  • 举报
回复
最小公倍数的问题
fiahyjw 2011-04-19
  • 打赏
  • 举报
回复
貌似还要验证账号密码。。。
fiahyjw 2011-04-19
  • 打赏
  • 举报
回复
http://cie.xtu.edu.cn/exam/index.php/problem/read/id/1058
Ulfsaar 2011-04-19
  • 打赏
  • 举报
回复
给个原题链接吧
Ulfsaar 2011-04-19
  • 打赏
  • 举报
回复

#include<iostream>
using namespace std;
int main()
{
int a,b,c;
cin>>a>>b>>c;
while(a||b||c)
{
if ( a* b ==0)
{
b = a+b;
}
else
{
int temp;
while(a%b)
{
temp=b;
b=a%b;
a=temp;
}
}

if ( b != 0 && c%b == 0 )
{
cout<<"Yes"<<endl;
}
else
{
cout<<"No"<<endl;
}

cin>>a>>b>>c;
}
}

64,639

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧