Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
parkito
11 / 11 / 9
Регистрация: 22.03.2010
Сообщений: 693
#1

Наибольшее общее кратное - C++

10.07.2011, 13:31. Просмотров 1593. Ответов 10
Метки нет (Все метки)


http://www.cyberforum.ru/cpp-beginners/thread128129.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2011, 13:31
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Наибольшее общее кратное (C++):

найменшее общее кратное
Ниже приведена программа на языке С. Перепишите ее в соответствии со стилем...

Наименьшее общее кратное
есть одномерный массив, содержащий целые числы. нужно найти наименьшее общее...

Наименьшее общее кратное
Определить наименьшее общее кратное для двух чисел A и B. Числа A и B вводятся...

Наименьшее общее кратное трёх чисел
Нужно найти НОК трёх чисел, используя функции Добавлено через 6 минут Вот...

Найти наименьшее общее кратное используя рекурсию
Дан массив.Найти наименьшее общее кратное используя рекурсию

10
Mr. Pyatachok
8 / 8 / 1
Регистрация: 30.06.2011
Сообщений: 250
10.07.2011, 13:34 #2
тут по ходу пузырьковый метод пытались сделать
temp=tnum; tnum=tden; tden=temp;
0
parkito
11 / 11 / 9
Регистрация: 22.03.2010
Сообщений: 693
10.07.2011, 13:35  [ТС] #3
Цитата Сообщение от Mr. Pyatachok Посмотреть сообщение
тут по ходу пузырьковый метод пытались сделать
temp=tnum; tnum=tden; tden=temp;
Я вижу что пузырьковый, но сама концепция мне не понятна. И что в конце программы нужно выводить чтоб результат получить ?
0
Mr. Pyatachok
8 / 8 / 1
Регистрация: 30.06.2011
Сообщений: 250
10.07.2011, 13:38 #4
если английским владеешь в help залезь, а так только гугл
0
Paporotnik
383 / 227 / 12
Регистрация: 06.07.2011
Сообщений: 512
10.07.2011, 23:20 #5
не понятно, откуда функция берет num и den. из глобальных переменных что ли? ну и что возвращает тоже)

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

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

p.s. пузырьковая сортировка тут вообще не при чем.
1
grizlik78
Эксперт С++
1982 / 1475 / 191
Регистрация: 29.05.2011
Сообщений: 3,048
10.07.2011, 23:28 #6
Цитата Сообщение от Paporotnik Посмотреть сообщение
не понятно, откуда функция берет num и den. из глобальных переменных что ли? ну и что возвращает тоже)
Цитата Сообщение от Paporotnik Посмотреть сообщение
последние две строчки тоже не совсем понятны, точнее их значение для возможных дальнейших действий - на коэффициенты, получаемые из обобщенного алгоритма Евклида не похоже.
num и den это числитель и знаменатель дроби. Скорее всего fraction это класс, реализующий операции с дробями. А последние две строчки — сокращение дроби, когда числитель и знаменатель делятся на их НОД.
1
Paporotnik
383 / 227 / 12
Регистрация: 06.07.2011
Сообщений: 512
10.07.2011, 23:29 #7
а, тогда да, похоже на правду.
и проглядел, что это, видимо, метод класса. тогда ясно почему ни входных, ни выходных значений нет.
1
parkito
11 / 11 / 9
Регистрация: 22.03.2010
Сообщений: 693
11.07.2011, 10:27  [ТС] #8
А что вот это такое ?

C++
1
2
tnum = labs(num);          
tden = labs(den);
0
grizlik78
Эксперт С++
1982 / 1475 / 191
Регистрация: 29.05.2011
Сообщений: 3,048
11.07.2011, 10:45 #9
labs(x) это функция нахождения абсолютного значения (модуля) числа x с типом long.
То есть НОД ищется для числителя и знаменателя без учёта знака.
1
Daemon025
380 / 328 / 159
Регистрация: 06.12.2010
Сообщений: 894
11.07.2011, 11:18 #10
НОК:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <fstream>
using namespace std;
 
int gcd(int a, int b);
 
int main()
{
    int x,y;
 
    ifstream input("input.txt");
    input >> x >> y;
 
    ofstream output("output.txt");
    output << (x / gcd(x,y) * y);
 
    output.close();
    input.close();
    return 0;
}
 
int gcd(int a, int b)
{
    if (b == 0) return a;
    return gcd(b, a % b);
}
0
parkito
11 / 11 / 9
Регистрация: 22.03.2010
Сообщений: 693
11.07.2011, 16:11  [ТС] #11
Цитата Сообщение от grizlik78 Посмотреть сообщение
labs(x) это функция нахождения абсолютного значения (модуля) числа x с типом long.
То есть НОД ищется для числителя и знаменателя без учёта знака.
Все понял я этот код все разложилось по полочкам. Спасибо всем.
0
11.07.2011, 16:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.07.2011, 16:11
Привет! Вот еще темы с решениями:

Найти наименьшее общее кратное трех чисел
заданы 3 числа найти их наименьшее общее кратное Теги выделения кода...

Найти наименьшее общее кратное заданных N чисел
Ребят, привет. Выручайте, чем можете, нужно составить код для нахождения...

Определить наименьшее общее кратное двух натуральных чисел
вот мой код. выдаёт одну ошибку. помогите пожалуйста найти. ...

Введите 2 натуральные числа и найдите их наименьшее общее кратное.
Помогите написать, нужно сдать 1. Введите целое число, означающее...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

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