Zadanie napisać w c++ !
Dane są trzy liczby naturalne: x, a, b. Mamy za zadanie obliczyć NWD(x, a*x+b).
Wejście
Trzy liczby naturalne x, a, b (1 ≤ x, a, b ≤ 10^15).
Wyjście
Jedna liczba naturalna, równa NWD(x, a*x+b).
Przykład
Dla liczb
100 17 42
Twój program powinien wypisać liczbę
2
mój kod :
#include<iostream>
using namespace std;
int p(int a, int b)
{
int x;
do
{
x=a%b;
a=b;
b=x;
}
while(x!=0);
return a;
}
int main()
{
ios_base::sync_with_stdio(0);
int x,a,b;
cin>>x>>a>>b;
b=a*x+b;
cout<<p(x,b);
return 0;
}
Wie ktoś może co mam źle i chciałyby pomóc ?