我认为,判断第三个数是否整除第一个数与第二个数的最大公因数,判断是否成功,为什么不对。
答案:1 悬赏:0
解决时间 2021-04-07 13:20
- 提问者网友:刪除丶後
- 2021-04-07 07:51
一个王子被巫师诅咒,变成了一只青蛙。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
YesNo
#include<stdio.h>
unsigned int function(unsigned int x,unsigned int y){
unsigned int z;
while(x%y!=0){
z=x%y;
x=y;
y=z;
}
return y;
}
int main(){
unsigned int a,b,c,d;
scanf("%d%d%d",&a,&b,&c);
while(a&&b&&c){
d=function(a,b);
if(c%d==0)
printf("Yes\n");
else
printf("No\n");
scanf("%d%d%d",&a,&b,&c);
}
return 0;
}
这是我的代码
最佳答案
- 二级知识专家网友:末路丶一枝花
- 2021-04-07 08:23
求最大公因数的代码:
int GCD(int a,int b)
{
if(b==0) return a;
else return GCD(b,a%b);
}
一开始没测试,后来测试了你的代码,好像没有问题啊。结果也没问题。
试着写了一下,用递归的方法或你所用的交换变量的方法都是可以的:
int GCD(int a,int b)
{
return b==0?a:GCD(b,a%b);
}
int main()
{
int x,y,z;
while (1)
{
scanf("%d %d %d",&x,&y,&z);
if (x&&y&&z)
{
z%GCD(x,y)==0?printf("Yes\n"):printf("No\n");
}
else
{
return 0;
}
}
}
int GCD(int a,int b)
{
if(b==0) return a;
else return GCD(b,a%b);
}
一开始没测试,后来测试了你的代码,好像没有问题啊。结果也没问题。
试着写了一下,用递归的方法或你所用的交换变量的方法都是可以的:
int GCD(int a,int b)
{
return b==0?a:GCD(b,a%b);
}
int main()
{
int x,y,z;
while (1)
{
scanf("%d %d %d",&x,&y,&z);
if (x&&y&&z)
{
z%GCD(x,y)==0?printf("Yes\n"):printf("No\n");
}
else
{
return 0;
}
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯