|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
求两个数的公约数,
# include<stdio.h>
int main()
{
int a, b, c, d;
scanf("%d %d",&a, &b);
int n, m, max=1;
for(n=0; n<a; n++)
{
for(m=0; m<b; m++)
{
if(a%n==b%m)//箭号
{
d = a % n;
if(max<d)
{
max = d;
}
}
}
}
printf("%d\n", max);
return 0;
}
编译正常,但运行无法得出正确结果,尝试调试到箭号出跳出cpu窗口,显示=> 0x0000000000401534 <+68>: idivl -0x4(%rbp) 求解
- # include<stdio.h>
- int main()
- {
- int a, b, c, d;
- scanf("%d %d",&a, &b);
- int n, m, max=1;
- for(n=1; n<a; n++)
- {
- for(m=1; m<b; m++)
- {
- if(a%n==0&&b%m==0&&m==n)//箭号
- {
- max = m;
- }
- }
- }
- printf("%d\n", max);
- return 0;
- }
复制代码
是求最大公约数吗还是所有公约数你试试这个代码
|
|