LCM, а затем представить его в виде матрицы - PullRequest
0 голосов
/ 22 апреля 2020

Я должен найти LCM и затем представить их в таблице. Я нашел нужный LCM, но я не уверен, как отформатировать его на столе.

| .... 20 .... 21 .... 22 .... 23 ....

--- + --------------------------------

10 | 20 ... 210 ... 110 ... 230 ...

11 | 220 ... 231 ... 22 ... 253 ...

.... | et c.


#include <stdio.h>

int main(){
    int u, v, x, y, lcm, gcd, temp;

    for(x = 10; x < 20; x++){
        for(y = 20; y < 30; y++){
            if(x > y){
                v = x;
                u = y;
            }
            else{
                v = y;
                u = x;
            }

            temp = v % u;

            // GCD
            while(temp != 0){
                v = u;
                u = temp;
                temp = v % u;
            }

            gcd = u;

            // LCM
            lcm = (x * y) / gcd;

            printf("The LCM is %d\n", lcm);
        }
    }
}

1 Ответ

0 голосов
/ 22 апреля 2020

Во-первых, вы печатаете первую строку с 20 до 30. Я использую \t вместо ..., потому что, я думаю, это более красиво. Вместо этого вы можете использовать ..., если хотите.

    printf("|   ");
    for(y = 20; y < 30; y++) {
        printf("%d\t", y);
    }
    printf("\n---+--------------------------------\n");
    for(x = 10; x < 20; x++){
        // your code here
    }

Тогда в двойном для l oop:

    for(x = 10; x < 20; x++){
        printf("%d|", x);
        for(y = 20; y < 30; y++){
            if(x > y){
                v = x;
                u = y;
            }
           ... // your code
            // LCM
            lcm = (x * y) / gcd;

            printf("%d\t", lcm);
        }
        printf("\n");
    }

Результат теста:

|   20  21      22      23      24      25      26      27      28      29                                              
---+--------------------------------                                                                                    
10|20   210     110     230     120     50      130     270     140     290                                             
11|220  231     22      253     264     275     286     297     308     319                                             
12|60   84      132     276     24      300     156     108     84      348                                             
13|260  273     286     299     312     325     26      351     364     377                                             
14|140  42      154     322     168     350     182     378     28      406                                             
15|60   105     330     345     120     75      390     135     420     435                                             
16|80   336     176     368     48      400     208     432     112     464                                             
17|340  357     374     391     408     425     442     459     476     493                                             
18|180  126     198     414     72      450     234     54      252     522                                             
19|380  399     418     437     456     475     494     513     532     551
...