题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
如果整数 a 是整数 b 的整数倍,则称 b 是 a 的约数。
请问,有多少个正整数既是 2020 的约数,又是 3030的约数。
问题分析
公因子的值不会大于最大公因子不会小于1,所以我们查找的范围可以在1--最大公因子,最大公因子我们可以用辗转相除法来求,
代码实现
#include<stdio.h>
int zuidagongyueshu(int x,int y);
int main(){
int num=0;
int yinzi=zuidagongyueshu(2020,3030);
for(int i=1;i<=yinzi;i++){
if(2020%i==0&&3030%i==0){
num++;
}
}
printf("%d",num);
return 0;
}
int zuidagongyueshu(int x,int y){
if(x==y){
return x;
}else{
if(x>y){
x-=y;
}else{
y-=x;
}
return zuidagongyueshu(x,y);
}
}
750

被折叠的 条评论
为什么被折叠?



