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

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

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

Вычисление нок и нод переменных натуральных чисел - C++

21.12.2013, 14:15. Просмотров 684. Ответов 1
Метки нет (Все метки)

Здравствуйте. Искал подобную тему по форуму, но там все либо на 2 числа либо на несколько, но с фиксированным числом после компиляции. Вообщем используя stdarg.h нужно сделать код программы для автоматического вычисления НОК и НОД n-ого количества чисел. То есть при запуске программы спрашивается сколько чисел подразумевается и далее столько же чисел вводится.
Если кто знает хоть начало программы, прошу поделиться... Благодарны будут не тока я)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2013, 14:15     Вычисление нок и нод переменных натуральных чисел
Посмотрите здесь:

Вычисление НОД ряда натуральных чисел - C++
Даны натуральные числа m, n1,...,nm (m>=2). Вычислить НОД (n1,...,nm), воспользовавшись для этого соотношением...

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

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

Вычисление НОД и НОК - C++
Нужно написать программу по вычислению НОД и НОК. Мысли проскакивают, но не полное решение). Подскажите кто сможет, только не кидайте...

Как найти НОК и НОД нескольких чисел или n чисел ? - C++
Собственно вопрос в теме . Как найти двух чисел нод ,нок я могу .А как это найти НОД,НОК n чисел ? Помогите пожалуйста !

Нахождение НОД и НОК двух чисел - C++
Вот код программы на Паскале нужно переделать на С++ { Рекурсивные алгоритмы: нахождения НОД и НОК двух чисел } var a,b:longint; ...

Найти НОК и НОД , и что бы можно было ввести до 10 чисел , как это сделать на с++? - C++
Здравствуйте , мне нужно найти НОК и НОД , и что бы можно было ввести до 10 чисел , как это можно реализовать на языке С++?

Найти наименьшее общее кратное (НОК) n натуральных чисел - C++
Есть задача: НОК Найти наименьшее общее кратное (НОК) n натуральных чисел. Технические условия Вход В первой...

Найти наименьшее общее кратное (НОК) натуральных чисел С++ - C++
Вот мой исходник : #include <iostream.h> int NSD (int a, int b) { while (a!=0 && b!=0) { if (a>b) { ...

Найти НОК (наименьшее общее кратное) массива натуральных чисел - C++
Найти НОК (наименьшее общее кратное) массива натуральных чисел. Спасибо за помощь :)

Вычислить НОК (наименьшее общее кратное) двух натуральных чисел A и B - C++
Задача 7. Вычислить НОК (наименьшее общее кратное) двух натуральных чисел A и B.

Найти наименьшее общее кратное (НОК) n натуральных чисел (оптимизировать код) - C++
Здравствуйте! Вот еще одна несложная задачка, однако 10/11 (последний тест не прошел по времени). НОК пытался вычислять разными методами,...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NickOleg
0 / 0 / 0
Регистрация: 21.12.2013
Сообщений: 3
23.12.2013, 18:24  [ТС]     Вычисление нок и нод переменных натуральных чисел #2
Эх вы)) вот короче сделал функцию расчета НОК и НОД n чисел. Проблема как ввести в функцию foo эти параметры с консоли

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <stdlib.h> 
#include <stdarg.h>
 
using namespace std;
 
int n, f1, f2, f3, f4;
int nod(int a, int b);
int foo(int n, ...);
 
int main()
{
    setlocale(0, "Rus");
    foo(2, 35, 45);
    foo(5, 18, 36, 72, 144, 288);
    system("pause");
    return 0;
}
int nod(int a, int b)
{
    while (a != 0 && b != 0)
    {
        if (a >= b) a = a%b;
        else b = b%a;
    }
    return a + b;
}
int foo(int n, ...)
{
    va_list a;
    va_start(a, n);
    f1 = f2 = f4 = va_arg(a, int);
    for (int j = 0; j < (n-1); j++)
    {
        f3 = va_arg(a, int);
        f1 = nod(f1, f3);
        f4 = (f3*f4) / nod(f4, f3);
    }
    va_end(a);
    cout << f1 << " / " << f4 << endl;
    return 0;
}
Ответ Создать тему
Опции темы

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