/*
一个王子被巫师诅咒,变成了一只青蛙。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>
- __int64 frog(__int64 n,__int64 m)
- {
- if( 0 == m ) return n;
- __int64 r;
- r = n % m;
-
- while ( r > 0 )
- {
- n = m;
- m = r;
- r = n % m;
- }
-
- return m;
-
- }
- int main()
- {
- __int64 a,b,c,t;
- int d = scanf("%I64d%I64d%I64d",&a,&b,&c);//scanf函数读入并把值赋给变量,
- //遇文件结束返EOF,出错返回0。。。。
-
- //while(scanf("%I64d%I64d%I64d",&a,&b,&c)!=EOF)
- while ( 0 !=d && d !=EOF )
- {
- //printf("进来了么\n");
-
- if ( 0 == a && 0 == b && 0 == c )
- {
- break;
- }
-
- else
- {
-
- t = frog(a,b);
- if( 0 == t )
-
-
- printf("No\n");
-
-
- else if( 0 == c%t )
- {
- printf("Yes\n");
- }
- else
- {
- printf("No\n");
- }
-
- }
- d = scanf("%I64d%I64d%I64d",&a,&b,&c);
- }
-
- return 0;
- }
阅读(3002) | 评论(0) | 转发(0) |