最大公约数 poj

只需利用初等数论的知识——辗转相除法即可

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;

int main()
{
    int i,j,k,m,n,N,M;
    while(cin>>n>>m){
        int temp,maxp;   //n>=m
        if(m>n){
            temp=m;
            m=n;
            n=temp;
        }
        N=n;
        M=m;
        if(n%m==0) maxp=m;
        else{
            k=n%m;
            while(M%k!=0 ||N%k!=0){
                n=m;
                m=k;
                k=n%m;
            }
            maxp=k;
        }
        cout<


你可能感兴趣的:(杂题)