4 条题解
- 1
信息
- ID
- 1128
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 1
- 标签
- 递交数
- 44
- 已通过
- 32
- 上传者
还是自己定义函数更保险
#include <bits/stdc++.h>
using namespace std;
int minn(int a, int b)
{
if (a < b)
{
return a;
}
else
{
return b;
}
}
int main()
{
int a, b;
cin >> a >> b;
for (int i = 1; i <= minn(a, b); i++)
{
if (a % i == 0 && b % i == 0)
{
cout << i << endl;
}
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a , b;
cin >> a >> b;
for (int i = 1 ; i <= b ; i++)
{
if(a % i == 0 && b % i == 0)
{
cout << i << endl;
}
}
return 0;
}//A
很简单,防止TLE(虽然不会这样)先求出最大公因数(递归,辗转相除法),用g记录,在一一列举,求出因数 上代码:
#include <cstdio>
using namespace std;
int gcd(int x,int y){
return !y?x:gcd(y,x%y);
}
int main(){
int a,b,g;
scanf("%d%d",&a,&b);
g=gcd(a,b);
for(int i=1;i<=g;i++)if(g%i==0)printf("%d\n",i);
return 0;
}