求助C语言

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<stdio.h>
main()
{
unsigned int n1,n2,m;
scanf("%d %d %d",&n1,&n2,&m);
while(n1!=0&&n2!=0&&m!=0)
{
while(n1!=1&&n1!=0&&n2!=1&&n2!=0)
{
if(n1>n2&&n1%n2)
n1=n1%n2;
else if(n1<n2&&n2%n1)
n2=n2%n1;
else break;
}
if(m%n1==0||m%n2==0)
printf("YES\n");
else
printf("NO\n");
scanf("%d %d %d",&n1,&n2,&m);
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-01-13
相似回答