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

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

Войти
Регистрация
Восстановить пароль
 
deepLulz
4 / 4 / 0
Регистрация: 12.02.2012
Сообщений: 46
#1

НОД и числовая последовательность - C++

16.04.2012, 10:13. Просмотров 466. Ответов 7
Метки нет (Все метки)

Задание звучит следующим образом:
Дано натуральное число N и натуральные числа a1,a2,a3,...,aN. Найти наибольший общий делитель для данной последовательности.
Есть одна не ловкая особенность - массивы использовать запрещено.
Я сделал последовательность вот таким образом:
C++
1
2
3
4
5
6
7
    
    printf("Type N = ");
    scanf("%u",&n);
    for(i=1; i<=n; i++){
        printf("Type A%u = ",i);
        scanf("%u",&a);
    }
Но теперь беда, так как для нахождения НОД нужно как минимум 2 числа - A и B. Может кто подскажет, как быть?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2012, 10:13     НОД и числовая последовательность
Посмотрите здесь:

Числовая последовательность - C++
Добрый вечер, форумчане! Суть такова, что необходимо подсчитать количество чисел, которые являются квадратами некоторого натурального числа...

Числовая последовательность - C++
Здравствуйте, можете помочь с этим заданием ? Первую часть, я вроде сделала. #include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include...

Числовая последовательность 2n! - C++
Написать программу или хотя бы алгоритм, которая для n=0,1,2... вычисляет максимальный элемент и его номер и выводит на экран

числовая последовательность - C++
Помогите пожалуйста хотя бы с первым заданием, потом может сам дотукаю плизззз!!!!!! Условия задания 1: Найти среднее арифметическое...

Числовая последовательность на C++ - C++
Вводится последовательность из N положительных целых чисел. Найти наименьшее число среди четных элементов последовательности. ...

Числовая последовательность. - C++
1. Вводится последовательность, 0-конец последовательности. Подсчитать, сколько в ней отрицательных цисел, и найти сумму положительных...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Toshkarik
1140 / 857 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
16.04.2012, 10:24     НОД и числовая последовательность #2
Если я правильно понял задание, то делим все числа последовательности по очереди на числа от 1 до a1. Это если последовательность упорядочена и возрастает. Если убывает то от 1 до aN. Если не упорядочена то от 1 до минимального числа последовательности.
deepLulz
4 / 4 / 0
Регистрация: 12.02.2012
Сообщений: 46
16.04.2012, 10:27  [ТС]     НОД и числовая последовательность #3
Toshkarik, смотрите в чем особенность. Вся моя последовательность, не знаю как нормально обьяснить, это одна переменная A и она действительна только во время работы цикла, потом цикл начинается заново и уже у A другое число. Так же неизвестно как идут числа. При запуске программы мы вводим N, после чего последовательно вводим числа в A в неизвестно каком порядке.
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
16.04.2012, 11:16     НОД и числовая последовательность #4
Цитата Сообщение от deepLulz Посмотреть сообщение
Toshkarik, смотрите в чем особенность. Вся моя последовательность, не знаю как нормально обьяснить, это одна переменная A и она действительна только во время работы цикла, потом цикл начинается заново и уже у A другое число. Так же неизвестно как идут числа. При запуске программы мы вводим N, после чего последовательно вводим числа в A в неизвестно каком порядке.
C++
1
2
3
4
5
6
7
8
9
10
11
    
    printf("Type N = ");
    scanf("%u",&n);
    unsigned int a1,a2;
    printf("Type A1 =");
    scanf("%u",&a1);
    for(i=2; i<n+1; i++){
        printf("Type A%u = ",i);
        scanf("%u",&a2);
        a1=NOD(a1,a2);
    }
В a1 будешь хранить НОД.
deepLulz
4 / 4 / 0
Регистрация: 12.02.2012
Сообщений: 46
16.04.2012, 11:19  [ТС]     НОД и числовая последовательность #5
Nekto, компилятор ругается "undefined reference to 'NOD'"
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
16.04.2012, 11:25     НОД и числовая последовательность #6
Цитата Сообщение от deepLulz Посмотреть сообщение
Nekto, компилятор ругается "undefined reference to 'NOD'"
Ну надо ж функцию написать нахождения НОДа Я думал, что у тебя уже есть.
Toshkarik
1140 / 857 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
16.04.2012, 11:32     НОД и числовая последовательность #7
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
int main() {
   int gcd = 0,
       number = 0,
       amount = 0,
       i = 0,
       j = 0;
 
   printf( "Enter N: " );
   scanf( "%i", &amount );
 
   printf( "Enter 1 number: " );
   scanf( "%i", &gcd );
 
   for ( i = 2; i <= amount; i++ ) {
      printf( "Enter %i number: ", i );
      scanf( "%i", &number );
 
      if ( number % gcd != 0 ) {
         for ( j = number; j > 0; j-- ) {
            if ( gcd % i == 0 && number % i == 0 ) {
               gcd = i;
               break;
            }
         }
      }
   }
 
   printf( "Greatest common divisor: %i\n", gcd );
 
   return 0;
}
Добавлено через 4 минуты
Я подправил немного код, там была очепятка в одном месте, перепиши если вдруг ты с ошибкой скопировал.

Добавлено через 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
25
26
27
28
29
30
31
int main() {
   int gcd = 0,
       number = 0,
       amount = 0,
       i = 0,
       j = 0;
 
   printf( "Enter N: " );
   scanf( "%i", &amount );
 
   printf( "Enter 1 number: " );
   scanf( "%i", &gcd );
 
   for ( i = 2; i <= amount; i++ ) {
      printf( "Enter %i number: ", i );
      scanf( "%i", &number );
 
      if ( number % gcd != 0 ) {
         for ( j = number; j > 0; j-- ) {
            if ( gcd % j == 0 && number % j == 0 ) {
               gcd = j;
               break;
            }
         }
      }
   }
 
   printf( "Greatest common divisor: %i\n", gcd );
 
   return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2012, 11:32     НОД и числовая последовательность
Еще ссылки по теме:

Дана числовая последовательность целых чисел, содержащая N элементов - C++
Дана числовая последовательность целых чисел, содержащая N элементов. Определить наименьшее произведение серии элементов кратных 7;

Выяснить является ли данная числовая последовательность упорядоченной по убыванию - C++
Выяснить является ли данная числовая последовательность упорядоченной по убыванию?

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

Числовая прямая, разбитая на отрезки - C++
Пусть числовая прямая разбита на произвольные отрезки точками а1,а2,...,аN. Выяснить, к какому отрезку относится точка Х. Язык с++...


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

Или воспользуйтесь поиском по форуму:
deepLulz
4 / 4 / 0
Регистрация: 12.02.2012
Сообщений: 46
16.04.2012, 11:32  [ТС]     НОД и числовая последовательность #8
Toshkarik, во! Спасибо огромное. Это именно то, что нужно было. Сейчас подгоню под свои переменные и свой код!
Yandex
Объявления
16.04.2012, 11:32     НОД и числовая последовательность
Ответ Создать тему
Опции темы

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