Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Aleksandr_D
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 24
#1

шестнадцатеричных числа. Определить наибольший общий делитель - C++

15.11.2013, 22:04. Просмотров 415. Ответов 7
Метки нет (Все метки)

Помогите сделать задание, завтра сдавать...
Заданы два длинных неотрицательных шестнадцатеричных числа. Напишите программу, определяющую их наибольший общий делитель.
 Комментарий модератора 
В Матанализ с просьбой написать программу?! Вряд ли вам можно помочь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2013, 22:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос шестнадцатеричных числа. Определить наибольший общий делитель (C++):

Определить наибольший общий делитель двух многоразрядных чисел (длинные числа) - C++
Определить наибольший общий делитель двух многоразрядных чисел. Для хранения многоразрядного числа использовать динамический...

Даны два числа. Найти их наибольший общий делитель - C++
Пожалуйста, помогите у меня превышено время работы Даны два числа. Найти их наибольший общий делитель. Формат входных данных Вводятся...

С клавиатруы вводится 2 числа, найти их наибольший общий делитель. - C++
Буду очень благодарег=(( 1. С клавиатруы вводится 2 числа, найти их наибольший общий делитель. 2. Разложение в степенной ряд e ^ x. ...

Даны два числа А и B. Найти их наибольший общий делитель - C++
Задание: Даны два числа А и B. Найти их наибольший общий делитель НОД(A,B) и два числа U и V, такие, что А*U + B*V = НОД(A,B) Если с...

Определить наибольший общий делитель трех натуральных чисел - C++
Нужно решить с помощю файлов даже непредставляю как ( Определить наибольший общий делитель трех натуральных чисел.

Определить наибольший общий делитель для 3-х введенных с клавиатуры чисел - C++
Определить наибольший общий делитель для 3-х введенных с клавиатуры чисел. Помогите, пожалуйста.

7
palva
2748 / 1849 / 266
Регистрация: 08.06.2007
Сообщений: 7,032
Записей в блоге: 4
15.11.2013, 22:20 #2
Задание по C++ логичнее размещать в форуме по C++.
0
MrCath
7 / 7 / 1
Регистрация: 08.11.2012
Сообщений: 68
15.11.2013, 22:51 #3
Это сложно?
Путем простой формулы, которую проходят на общем курсе по информатике в классе, как бы не соврать, восьмом (у нас так было) переводим это число в систему счисления с основанием 10.
ИЛИ если прям вообще обленились, сделать ввод числа в строку, а строку перевести в числовую переменную через sscanf с использованием %x.

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

Где же такие задания дают?)
0
palva
2748 / 1849 / 266
Регистрация: 08.06.2007
Сообщений: 7,032
Записей в блоге: 4
15.11.2013, 23:07 #4
MrCath,
Цитата Сообщение от Aleksandr_D Посмотреть сообщение
два длинных неотрицательных шестнадцатеричных числа
Я так понимаю, что "длинные" числа не помещаются в стандартные компьютерные переменные. Например, они могут быть 100-значными 16-ричными числами. Поэтому и указывается, что они шестнадцатеричные, поскольку не предполагается их преобразование в двоичный вид. И ответ тоже, похоже, предполагается в 16-ричном виде. Но это все мои фантазии. Топик-стартер не опускается до осмысления и объяснения задачи для нас. Да и с выбором форума тоже не заморачивается.
1
Aleksandr_D
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 24
16.11.2013, 01:55  [ТС] #5
Напишите код пожалуйста)
0
ПерС
371 / 287 / 89
Регистрация: 05.11.2013
Сообщений: 820
Записей в блоге: 5
Завершенные тесты: 1
16.11.2013, 07:43 #6
Цитата Сообщение от Aleksandr_D Посмотреть сообщение
Напишите код пожалуйста)
вот функция, вычисляющая НОД для 2 чисел:
C++
1
2
3
long int nod (long int x, long int y) {
 return (x==0 ? y : nod(y%x,x) );
}
какая ей разница 16-ричные они или десятичные?
если ответ надо вывести тоже 16-рично, ответ, полученный функцией, преобразуй в 16-ричную запись через itoa или просто выведи printfом как 16-ричное
C++
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
long int nod (long int x, long int y) {
 return (x==0 ? y : nod(y%x,x) );
}
void main () {
long int x=0x100,y=0x80;
long int n=nod(x,y);
printf ("\n%X",n);
getchar();
}
ответ : 80 т.е. 128 - и это так и есть для 0x100=256 и 0x80=128
1
Aleksandr_D
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 24
29.11.2013, 16:54  [ТС] #7
Напишите пожалуйста краткое описание кода и как ввести самому числа при выводе на экран)
0
ПерС
371 / 287 / 89
Регистрация: 05.11.2013
Сообщений: 820
Записей в блоге: 5
Завершенные тесты: 1
29.11.2013, 17:01 #8
Описание алгоритма - см. Алгоритм Евклида
Ввод с клавы - если на обычном Си, замени
C
1
long int x=0x100,y=0x80;
на
C
1
2
3
long int x,y;
printf ("\nВведите первое число:"); scanf ("%ld",&x);
printf ("\nВведите второе число:"); scanf ("%ld",&y);
при вводе десятичных чисел
ну или шаблон "%lx" вместо "%ld" если вводить прямо 16-ричные (ff вместо 255)
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2013, 17:01
Привет! Вот еще темы с ответами:

Разработать функцию, которая для заданного натурального числа N и M возвращает их наибольший общий делитель. - C++
Привет всем кто читает эту тему! Пожалуйста, кому не трудно помогите с задачами на функци, заранее огромное спасибо. I Разработка...

Даны два натуральных числа. Получить их наибольший общий делитель (НОД), используя алгоритм Евклида - C++
Даны два натуральных числа. Получить их наибольший общий делитель (НОД), используя алгоритм Евклида. С помощью оператора цикла for ...

Наибольший общий делитель - C++
Помогите в написании программы, которая вычисляет наибольший общий делитель двух заданных с клавиатуры чисел A и B, и выводит его на...

Наибольший общий делитель - C++
Написать программу, которая находит НОД трех чисел, можно использовать алгоритм Евклида. Главное, чтобы можно было вводить три числа с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Yandex
Объявления
29.11.2013, 17:01
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru