Важное замечание: Для типа long long int требуется от компилятора поддержка стандарта C99.
Приложил файл расширения .cpp, чтобы обойти ограничение сайта. При работе с кодом измените на .c
#include <stdio.h>
long long int NOD(long long int var1, long long int var2) //Алгоритм Евклида
{
while(var1 != var2)
if(var1 > var2)
var1 = var1 - var2;
else var2 = var2 - var1;
}
return var1;
long long int NOK(long long int var1, long long int var2)
return (var1 * var2) / NOD(var1, var2);
int main()
long long int N, K;
scanf("%lli%lli", &N, &K);
printf("Количество оборотов: %lli\n", NOK(N, K));
Заменяем каждый разряд на код из таблицы.
Двоичная СС Восьмеричная СС
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7
Получаем числа:
1024757520 (7) = 001000010100111101111101010000 (2)
1232400565 (7) = 001010011010100000000101110101 (2)
Складываем (0 в начале числа можно убрать):
1000010100111101111101010000 + 1010011010100000000101110101 = 10010101111011110000011000101
Меняем 1 на 0, 0 на 1:
10010101111011110000011000101 = 01101010000100001111100111010
Двоичная СС Шестнадцатеричная СС
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F
Получаем число:
1101 0100 0010 0001 1111 0011 1010 (2) = D421F3A (16)
Важное замечание: Для типа long long int требуется от компилятора поддержка стандарта C99.
Приложил файл расширения .cpp, чтобы обойти ограничение сайта. При работе с кодом измените на .c
#include <stdio.h>
long long int NOD(long long int var1, long long int var2) //Алгоритм Евклида
{
while(var1 != var2)
{
if(var1 > var2)
var1 = var1 - var2;
else var2 = var2 - var1;
}
return var1;
}
long long int NOK(long long int var1, long long int var2)
{
return (var1 * var2) / NOD(var1, var2);
}
int main()
{
long long int N, K;
scanf("%lli%lli", &N, &K);
printf("Количество оборотов: %lli\n", NOK(N, K));
}
Заменяем каждый разряд на код из таблицы.
Двоичная СС Восьмеричная СС
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7
Получаем числа:
1024757520 (7) = 001000010100111101111101010000 (2)
1232400565 (7) = 001010011010100000000101110101 (2)
Складываем (0 в начале числа можно убрать):
1000010100111101111101010000 + 1010011010100000000101110101 = 10010101111011110000011000101
Меняем 1 на 0, 0 на 1:
10010101111011110000011000101 = 01101010000100001111100111010
Двоичная СС Шестнадцатеричная СС
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F
Получаем число:
1101 0100 0010 0001 1111 0011 1010 (2) = D421F3A (16)