Cześć, bardzo proszę o pomoc. Chcę napisać program zliczający pary względnie pierwszych liczb wśród wszystkich możliwych dwuelementowych zbiorów zbioru n elementowego. Problem jest w pętli zagnieżdżonej: chciałabym, żeby program dla n=(np)4 liczył najpierw NWD 1,1; 1,2; 1,3; 1,4; a póżniej 2,1; 2,2; 2,3; itd...
Pomysł jest taki:
#include<iostream>
#include<cstdlib>
using namespace std;
int NWD(int a, int b)
{
while(a!=b)
if(a>b)
a-=b;
else
b-=a;
return a;
}
int main()
{
int n,c=1,i=0;
cout << "podaj n: " << endl; cin >> n;
while (c<=n)
{
while ((c+i)<=n)
{
NWD (c,c+i);
cout << NWD (c,c+i) << endl;
i++;
}
c++;
}
return 0;
Problem polega na tym, że program liczy i wypluwa dobrze dla 1,1; 1,2; 1,3 itd..., ale nie przeskakuje na 2,1; 2,2; itd... Czy może lepiej to zrobić tablicami i pętlą for? Proszę o pomoc.