В
Все
У
Українська література
Г
Геометрия
Д
Другие предметы
Э
Экономика
Г
География
О
ОБЖ
М
Математика
М
МХК
Х
Химия
Қ
Қазақ тiлi
Л
Литература
У
Українська мова
О
Обществознание
Ф
Физика
А
Английский язык
А
Алгебра
И
История
Б
Беларуская мова
Б
Биология
М
Музыка
П
Право
И
Информатика
П
Психология
В
Видео-ответы
Н
Немецкий язык
Ф
Французский язык
О
Окружающий мир
Р
Русский язык
toriblinova
toriblinova
03.04.2020 23:55 •  Информатика

Число n, затем n целых чисел, которые нужно обработать. наибольший простой общий делитель всех чисел (или 0, если такого нет). на си или алгоритм.

Ответ:
NikaI004
NikaI004
06.10.2020 04:02
#include <stdio.h>
#include <math.h>

int isPrime(int x)
{
for (int i = 2; i <= sqrt(x); i++) {
if (x % i == 0) return 0;
}
return 1;
}

int main()
{

/* Ввод значений */
int n;
scanf("%d", &n);
int nums[n];
for (int i = 0; i < n; i++) {
scanf("%d", &nums[i]);
}

/* Поиск минимального значения */
int min = nums[0];
for (int i = 1; i < n; i++) {
if (nums[i] < min) min = nums[i];
}

/* Поиск делителя */
int ret = 0;
int isDiv = 1;
for (int i = min; i > 1; i--) {
printf("test %d\n", i);
if (isPrime(i)) {
printf(" %d prime\n", i);
for (int j = 0; j < n; j++) {
if (nums[j] % i != 0) {
printf(" on pos %d not div %d\n", j, i);
isDiv = 0;
break;
}
}
if (isDiv) {
ret = i;
printf(" ret = %d, break\n", ret);
break;
}
else {
isDiv = 1;
}
}
}

printf("%d", ret);
return 0;
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?