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

Наименьшее общее кратное для массива(с использованием вложенных циклов) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Russel1233
16 / 16 / 4
Регистрация: 10.09.2011
Сообщений: 117
21.10.2012, 02:20     Наименьшее общее кратное для массива(с использованием вложенных циклов) #1
помогите пожалуйста написать программу.
Задан целочисленный массив A[10]. Определить наименьшее общее кратное.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2012, 02:20     Наименьшее общее кратное для массива(с использованием вложенных циклов)
Посмотрите здесь:

Наименьшее общее кратное C++
Наименьшее общее кратное C++
[C++ ] Найти наименьшее общее кратное трех чисел C++
Найти наименьшее общее кратное (НОК) n натуральных чисел C++
C++ Наименьшее общее кратное трёх чисел
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
21.10.2012, 02:30     Наименьшее общее кратное для массива(с использованием вложенных циклов) #2
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
#include<iostream>
using namespace std;
int Nod(int a, int b)
{
    while (a && b)
        if (a >= b)
           a %= b;
        else
           b %= a;
    return a | b;
}
int main()
{
    const n=10;
    int i, A[n], nok=1;
    for(i=0; i<n; i++)
    {
        cout<<"A["<<i<<"]= ";
        cin>>A[i];  
        nok=(A[i]*nok)/Nod(A[i], nok);
    }
    cout<<"NOK= "<<nok<<endl;
    return 0;
}
Russel1233
16 / 16 / 4
Регистрация: 10.09.2011
Сообщений: 117
21.10.2012, 02:34  [ТС]     Наименьшее общее кратное для массива(с использованием вложенных циклов) #3
Цитата Сообщение от valeriikozlov Посмотреть сообщение
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
#include<iostream>
using namespace std;
int Nod(int a, int b)
{
    while (a && b)
        if (a >= b)
           a %= b;
        else
           b %= a;
    return a | b;
}
int main()
{
    const n=10;
    int i, A[n], nok=1;
    for(i=0; i<n; i++)
    {
        cout<<"A["<<i<<"]= ";
        cin>>A[i];  
        nok=(A[i]*nok)/Nod(A[i], nok);
    }
    cout<<"NOK= "<<nok<<endl;
    return 0;
}
а можно это реализовать с помощью основных циклических процессов?(for, с постусловием или предусловием)
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
21.10.2012, 03:05     Наименьшее общее кратное для массива(с использованием вложенных циклов) #4
Цитата Сообщение от Russel1233 Посмотреть сообщение
можно это реализовать с помощью основных циклических процессов?(for, с постусловием или предусловием)
реализовать что именно? Функцию поиска НОД?
Russel1233
16 / 16 / 4
Регистрация: 10.09.2011
Сообщений: 117
21.10.2012, 03:06  [ТС]     Наименьшее общее кратное для массива(с использованием вложенных циклов) #5
без функции. используя только вложенные циклы
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
21.10.2012, 03:22     Наименьшее общее кратное для массива(с использованием вложенных циклов) #6
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
#include<iostream>
using namespace std;
int main()
{
    const n=10;
    int i, A[n], nok=1, j;
    for(i=0; i<n; i++)
    {
        cout<<"A["<<i<<"]= ";
        cin>>A[i];          
        j=A[i];
        if(j<nok)
            j=nok;
        for(; j<=nok*A[i]; j++)
        {
            if(j%A[i]==0 && j%nok==0)
            {
                nok=j;
                break;
            }
        }        
    }
    cout<<"NOK= "<<nok<<endl;
    return 0;
}
Russel1233
16 / 16 / 4
Регистрация: 10.09.2011
Сообщений: 117
21.10.2012, 14:27  [ТС]     Наименьшее общее кратное для массива(с использованием вложенных циклов) #7
Цитата Сообщение от valeriikozlov Посмотреть сообщение
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
#include<iostream>
using namespace std;
int main()
{
    const n=10;
    int i, A[n], nok=1, j;
    for(i=0; i<n; i++)
    {
        cout<<"A["<<i<<"]= ";
        cin>>A[i];          
        j=A[i];
        if(j<nok)
            j=nok;
        for(; j<=nok*A[i]; j++)
        {
            if(j%A[i]==0 && j%nok==0)
            {
                nok=j;
                break;
            }
        }        
    }
    cout<<"NOK= "<<nok<<endl;
    return 0;
}
не работает=(
а можно реализовать данную задачу без библиотеки iostream
используя conio.h и stdio.h
Thinker
21.10.2012, 14:38
  #8

Не по теме:

вам valeriikozlov в посте 2 написал хороший алгоритм, используя свойство НОК, а вы все недовольны

Russel1233
16 / 16 / 4
Регистрация: 10.09.2011
Сообщений: 117
21.10.2012, 15:16  [ТС]     Наименьшее общее кратное для массива(с использованием вложенных циклов) #9
Цитата Сообщение от Thinker Посмотреть сообщение

Не по теме:

вам valeriikozlov в посте 2 написал хороший алгоритм, используя свойство НОК, а вы все недовольны

я не могу понять суть=( count вообще впервые слышу о таком
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2012, 15:48     Наименьшее общее кратное для массива(с использованием вложенных циклов)
Еще ссылки по теме:

Найти наименьшее общее кратное используя рекурсию C++
C++ Даны натуральные числа X и Y. Вычислить их наименьшее общее кратное.
C++ Найти НОК (наименьшее общее кратное) массива натуральных чисел

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

Или воспользуйтесь поиском по форуму:
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
21.10.2012, 15:48     Наименьшее общее кратное для массива(с использованием вложенных циклов) #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
#include<stdio.h>
#include<conio.h>
int main()
{
    const n=10;
    int i, A[n], nok=1, j;
    for(i=0; i<n; i++)
    {
        printf("A[%d]= ", i);
        scanf("%d", &A[i]);          
        j=A[i];
        if(j<nok)
            j=nok;
        for(; j<=nok*A[i]; j++)
        {
            if(j%A[i]==0 && j%nok==0)
            {
                nok=j;
                break;
            }
        }        
    }
    printf("NOK= %d\n", nok);    
    return 0;
}
Yandex
Объявления
21.10.2012, 15:48     Наименьшее общее кратное для массива(с использованием вложенных циклов)
Ответ Создать тему
Опции темы

Текущее время: 23:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru