poniedziałek, 16 października 2017

00004 - 601 - NWD - www.pl.spoj.com

Treść zadania:

Napisz funkcję:

int nwd(int a, int b);

która oblicza największy wspólny dzielnik liczb a i b,

0 <= a,b <= 1000000

Input
W pierwszej linii liczba testów t, w kolejnych liniach po dwie liczby w każdym wierszu.

Output
W każdej linii jedna liczba - wynik działania funkcji nwd
Example

Input:
5
1 4
4 1
12 48
48 100
123456 653421

Output:
1
1
12
4
3

Kod źródłowy w C:
#include <stdio.h>
#include <stdlib.h>

int nwd (int a, int b)
{
    int c;
    for(;b!=0;)
    {
        c=a;
        a=b;
        b=c%b;
    }
    return a;
}

int main()
{
    int i, j=0,a,b;
    scanf("%d",&i);
    for(j;j<i;++j)
    {
        scanf("%d %d",&a,&b);
        printf("%d\n",nwd(a,b));
    }
    return 0;
}


Kod źródłowy w C++:
#include <iostream>
#include <cstdio>

using namespace std;

int nwd (int a, int b)
{
    int c;
    for(;b!=0;)
    {
        c=a;
        a=b;
        b=c%b;
    }
    return a;
}

int main()
{
    int i, j=0,a,b;
    cin>>i;
    for(j;j<i;++j)
    {
        cin>>a>>b;
        cout<<nwd(a,b)<<endl;
    }
    return 0;
}


Źródło zadania:
http://pl.spoj.com/problems/PP0501A/

Brak komentarzy:

Prześlij komentarz