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

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

Войти
Регистрация
Восстановить пароль
 
Zheka91
4 / 4 / 1
Регистрация: 22.11.2010
Сообщений: 101
#1

найти общий делитель - C++

09.03.2011, 17:59. Просмотров 785. Ответов 3
Метки нет (Все метки)

дан массив ,заданый рандомно, найти общий делитель всех n элементов
C++
1
2
3
4
5
for(i=0; i<n; i++)
        {a[i]=rand()%10;}
    cout<<" Массив размера N: ";
    for(i=0; i<n; i++)
        {cout<<" "<<a[i];}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2011, 17:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос найти общий делитель (C++):

Найти наибольший общий делитель - C++
помогите написать программу на С ++ задано 2 целые числа m и n, найти их наибольший общий делитель d и целые числа a и b такие, что d =...

Найти наибольший общий делитель многочленов - C++
Помогите пожалуйста , нужно сделать работу по с ++ , вот задание : Найти наибольший общий делитель многочленов Р (х) и Q (x). ...

Найти наибольший общий делитель чисел - C++
Найти наибольший общий делитель чисел M и N используя метод Эйлера: если M делится на N, то НОД (N, M) = N, иначе НОД (N, M) = НОД (M % N,...

Найти НОД (наибольший общий делитель) - C++
1) НОД(наибольший общий делитель) Даны два числа a и b 0&lt;a,b&lt;INT_MAX INT_MAX - максимальное доступное число, которое умещается в...

[Qt 5] Задание:Найти наибольший общий делитель n и m - C++
Здравствуйте, вот, дали задание для первого курса. Не могли бы помочь? Если можно, не очень сложный код, чтобы понятно было Заранее...

Найти NOD(a, b, c), (наибольший общий делитель) - C++
Помогите, как объявить функцию с двумя параметрами? &quot;Даны натуральные числа a, b, c. Найти NOD(a, b, c), (наибольший общий делитель)...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
09.03.2011, 18:14 #2
Zheka91, вам надо найти наибольший общий делитель?

Добавлено через 12 минут
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
45
46
47
48
#include <stdio.h>
#include <conio.h>
#define N 5
int main()
{
    int mas[N];
    int flag,i,j,min;
    printf("Enter elements of array:\n");
    for(i=0; i<N; i++)
     {
         printf("\nEnter mas[%d] -> ",i+1);
         scanf("%d",&mas[i]);
 
     }
     min=mas[0];
     printf("\nArray -> ");
      for(i=0; i<N; i++)
      {
          printf("%d ",mas[i]);
          if(mas[i]<min)
          {
              min=mas[i];
          }
      }
     for(i=min;i>=0;i--)
     {
         flag=1;
         for(j=0; j<N; j++)
         {
             if(!(mas[j]%i))
             {
                 flag=1;
             }
             else
             {
                 flag=0;
                 break;
             }
         }
         if(flag)
         {
          printf("Result -> %d ",i);
           break;
         }
     }
     getch();
     return 0;
}
Zheka91
4 / 4 / 1
Регистрация: 22.11.2010
Сообщений: 101
09.03.2011, 19:43  [ТС] #3
Цитата Сообщение от MILAN Посмотреть сообщение
Zheka91, вам надо найти наибольший общий делитель?

Добавлено через 12 минут
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
45
46
47
48
#include <stdio.h>
#include <conio.h>
#define N 5
int main()
{
    int mas[N];
    int flag,i,j,min;
    printf("Enter elements of array:\n");
    for(i=0; i<N; i++)
     {
         printf("\nEnter mas[%d] -> ",i+1);
         scanf("%d",&mas[i]);
 
     }
     min=mas[0];
     printf("\nArray -> ");
      for(i=0; i<N; i++)
      {
          printf("%d ",mas[i]);
          if(mas[i]<min)
          {
              min=mas[i];
          }
      }
     for(i=min;i>=0;i--)
     {
         flag=1;
         for(j=0; j<N; j++)
         {
             if(!(mas[j]%i))
             {
                 flag=1;
             }
             else
             {
                 flag=0;
                 break;
             }
         }
         if(flag)
         {
          printf("Result -> %d ",i);
           break;
         }
     }
     getch();
     return 0;
}
а что значит if(!(mas[j]%i))
Байт
Эксперт C
15984 / 10252 / 1536
Регистрация: 24.12.2010
Сообщений: 19,339
09.03.2011, 20:14 #4
if ((mass[j]%i)==0)
Т.е. остаток от деления есть ноль

Добавлено через 2 минуты
Эх! Если б не наибольший! Тогда программа была бы совсем хороша!
C
1
printf("1\n");
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.03.2011, 20:14
Привет! Вот еще темы с ответами:

Найти наибольший общий делитель двух чисел - C++
Задача &quot;Длинный НОД&quot; Даны два числа. Найти их наибольший общий делитель. Входные данные Вводятся два натуральных числа, не превышающих 10^9...

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

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

Найти наибольший общий делитель двух чисел - C++
Для заданных натуральных целых чисел n и m найти наибольший общий делитель (НОД), используя следующее соотношение НОД(n, m) = НОД (n, r),...


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

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

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