求最大公因数用辗转相除法也称欧几里得法
代码如下
int get_g(int a,int b)
{
if(a%b==0) return b;
else return get_g(b,a%b);
}
简化后的代码
int get_g(int a,int b)
{
return b? get_g(b,a%b):a;
}
求质数的一种方法
#include<iostream>
using namespace std;
bool get_zhi(int a)
{
if(a<2) return false;
for(int i=2;i<=a/i;i++)
{
if(a%i==0)
return false;
return true;
}
}
int main()
{
int a=35;
if(get_zhi(a)==1)
printf("%d",a);
else
printf("NO");
}