#include<stdio.h>
int main()
{
int i,j,t,count=0;
for(i=1;i<=2020;i++)
for(j=1;j<=2020;j++)
{
while(i%j!=0)
{
t=i%j;
i=j;
j=t;
}
if(j==1)
count++;
}
printf("%d",count);
return 0;
}
蓝桥杯的既约分数中,自己的代码为什么输出不了?还有为什么有些人用辗转相除法求最大公倍数不用比较大小?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- king_帅12 2021-02-26 13:51关注
代码写的有问题吧,for循环内部j=1后重新循环导致死循环了,可以把
while(i%j!=0)
{
t=i%j;
i=j;
j=t;
} 这段代码放到一个方法里返回j
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用