中易网

我认为,判断第三个数是否整除第一个数与第二个数的最大公因数,判断是否成功,为什么不对。

答案:1  悬赏:0  
解决时间 2021-04-07 13:20
一个王子被巫师诅咒,变成了一只青蛙。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; } 这是我的代码
最佳答案
求最大公因数的代码:
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;
}
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
重庆2016年二本分数线可以报本科学校吗
求修真等级分明的小说
誓言电视剧的演员表
刘大伯家养的白兔和黑兔共300只,白兔比黑兔
东乡手抓馆地址有知道的么?有点事想过去
育才小学的操场是一个长方形,长120米,宽90
大唐荣耀麒麟令怎么会在沈家沈珍珠是怎么发现
想找个全天保姆看孩子,管吃住月薪给多少合适
贵阳到广州的高铁中途会经过佛山 我可以以直
摄影专业大学
猜这飞机是在云上还是云下!用你知道的知识解
三相异步电动机8级8路的接线原理和6级6路得接
本人在海外,即将高中毕业,目前在墨尔本,请
桐梓县尧龙山镇中心小学怎么去啊,有知道地址
我是广西平果的,今年要考初中,可去长沙 南
推荐资讯
在校大学生出国。艺术类学生。
不看会后悔,究竟怎么选择装修公司
丰田花冠挂上倒挡有异响是怎么回事
朋友在新加坡被被起诉持有他自己在国内猥琐小
绩溪县公安局交通管理大队龙川车驾管服务站地
明天有发单的众包商家吗?
2010年3月7日是结婚的好日子吗 男79年11月7日
欧洲大力士高速列车wifi如何连接
龙之谷新区2015年玩个月主要花费多少钱
dnf体验服被制裁一年了
现浇箱粱砼和模板的人工费总和报价是多少?
java会员管理用的jquery技术怎么说
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?