nikziam
?>

Даны четыре натуральных числа. найти наибольший общий делитель (нод) для этих четырех чисел. поиск нод двух чисе л оформить функцией. на языке c++

Информатика

Ответы

Aleksandrovich1415
Int gcd(int a, int b){
return b ? gcd(b, a%b) : a;
}
Это красивая реализация в виде тернарной строчки. Рекурсивная функция.

int gcd(int a, int b){
if (b)
return gcd(b, a%b);
else
return a;
}
Это тоже рекурсивная функция, просто не с тернарной строчкой, а с ифом.

int gcd(int a, int b){
while (b){
swap(a,b);
b%=a;
}
return a;
}
Это реализация циклом. Нерекурсивная функция.

Вот, среди них можешь выбрать любую функцию, которая тебе больше нравится. Теперь программа.
#include<iostream>
using namespace std;
int gcd(int a, int b){
//скопипастишь любую понравившуюся
}
int main(){
int a,b,c,d;
cin>>a>>b>>c>>d;
cout<<gcd(gcd (a,b), gcd(b,c));
return 0;
}

Удачи❤
Anastasiya81

Данный перевод возможен двумя : прямой перевод и через десятичную систему.

Сначала выполним прямой перевод.

Выполним прямой перевод из шестнадцатиричной в двоичную вот так:

AD45EF16 = A D 4 5 E F = A(=1010) D(=1101) 4(=0100) 5(=0101) E(=1110) F(=1111) = 1010110101000101111011112

Окончательный ответ: AD45EF16 = 1010110101000101111011112

Теперь выполним перевод через десятичную систему счисления.

Выполним перевод в десятичную систему счисления вот так:

Знаковый бит в переводе не участвует!

2∙165+13∙164+4∙163+5∙162+14∙161+15∙160 = 2∙1048576+13∙65536+4∙4096+5∙256+14∙16+15∙1 = 2097152+851968+16384+1280+224+15 = 296702310

Так как число знаковое и имеет знаковый бит, то результат будет иметь отрицательный знак

Получилось: AD45EF16 =-296702310

Переведем число -296702310 в двоичное вот так:

Целая часть числа находится делением на основание новой системы счисления:

2967023 2                      

-2967022 1483511 2                    

1 -1483510 741755 2                    

1 -741754 370877 2                  

1 -370876 185438 2                  

1 -185438 92719 2                

0 -92718 46359 2                

1 -46358 23179 2              

1 -23178 11589 2              

1 -11588 5794 2            

1 -5794 2897 2            

0 -2896 1448 2          

1 -1448 724 2          

0 -724 362 2        

0 -362 181 2        

0 -180 90 2      

1 -90 45 2      

0 -44 22 2    

1 -22 11 2    

0 -10 5 2  

1 -4 2 2  

1 -2 1  

0  

Перевод чисел из одной системы счисления в другую

В результате преобразования получилось:

-296702310 = 10110101000101111011112

Вы указали что размер вашего числа 1 байт.

Уберем лишние биты с учётом знакового бита вот так:

10110101000101111011112 = 111011112

Так-как введенное Вами число отрицательное то необходимо перевести его из прямого кода в дополнительный.

Для этого сначала выполним преобразование из прямого кода в обратный инвертированием всех битов кроме знакового, затем получим прямой код добавлением 1 бита.

1 1 1 0 1 1 1 1  прямой код

1 0 0 1 0 0 0 0 обратный код

+ 1 +1 бит

1 0 0 1 0 0 0 1 дополнительный код

Окончательный ответ: AD45EF16 = 100100012 (1 байт)                              

удачи

impuls20125948
нужно регулярно использовать антистатикивокруг стола не должно быть свисающих проводовнужно убедиться, что все провода целы, нет ли оголенныхнельзя начинать работу в неисправный техникойповерхности стола должна быть чистойнельзя пользоваться компьютером в помещении с повышенной влажностью или мокрыми рукаминельзя размещать какие-либо предметы на проводахнельзя очшать поверхность компьютера от загрязнений, когда он включенв помещении с компьютером нельзя курить и употреблять пищу и напиткирасстояние между глазами и экраном не мение полметра

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Даны четыре натуральных числа. найти наибольший общий делитель (нод) для этих четырех чисел. поиск нод двух чисе л оформить функцией. на языке c++
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

re22no22
mixtabak2
fishka-sokol14
siger06297
sergeevna
Fomin Korablev1781
АнастасияAndrey
martabunova
Салиев
alvs9
Boldinova-Marianna
palchiknr
Zolotnik974620
Abespal
valerii-borisovich550