Как распечатать только неупорядоченные элементы? - PullRequest
0 голосов
/ 25 октября 2019

Я работаю над кодом для печати всех чисел, чей LCM равен 240. Теперь это довольно просто, напишите 2 для циклов, и все готово. Я предоставил код ниже. Теперь я хочу удалить дублирующиеся пары. Например, если я уже напечатал (16,30), я не хочу печатать (30,16).

Так что я решил решить эту проблему, изменив 2-й индекс, чтобы верхний предел был равен1-й индекс.


using namespace std; 


int findLCM(int a, int b) 
{ 
    int lar = max(a, b); 
    int small = min(a, b); 
    for (int i = lar; ; i += lar) { 
        if (i % small == 0) 
            return i; 
    } 
} 

int main() 
{ 
    int a = 5, b = 7,s=0; 
    for(int i=1;i<=360;i++){
        for(int j=1;j<=i;j++){
            if(findLCM(i,j)==360){
                cout<<"("<<i<<","<<j<<")"<<endl;
                s++;
            }
        }
    } 
  cout<<s;
    return 0; 
} 

\\modified code

using namespace std; 


{ 
    int lar = max(a, b); 
    int small = min(a, b); 
    for (int i = lar; ; i += lar) { 
        if (i % small == 0) 
            return i; 
    } 
} 


int main() 
{ 
    int a = 5, b = 7,s=0; 
    for(int i=1;i<=240;i++){
        for(int j=1;j<=i;j++){
            if(findLCM(i,j)==240){
                cout<<"("<<i<<","<<j<<")"<<endl;
                s++;
            }
        }
    } 
  cout<<s;
    return 0; 
} 

Итак, я обнаружил, что это похоже на работу. Достаточно ли этой модификации в цикле, чтобы гарантировать, что дублирующиеся пары не будут напечатаны?

...