Войти
Регистрация
Спроси ai-bota
В
Все
У
Українська література
Г
Геометрия
Д
Другие предметы
Э
Экономика
Г
География
О
ОБЖ
М
Математика
М
МХК
Х
Химия
Қ
Қазақ тiлi
Л
Литература
У
Українська мова
О
Обществознание
Ф
Физика
А
Английский язык
А
Алгебра
И
История
Б
Беларуская мова
Б
Биология
М
Музыка
П
Право
И
Информатика
П
Психология
В
Видео-ответы
Н
Немецкий язык
Ф
Французский язык
О
Окружающий мир
Р
Русский язык
Показать больше
Показать меньше
toriblinova
03.04.2020 23:55 •
Информатика
Число n, затем n целых чисел, которые нужно обработать. наибольший простой общий делитель всех чисел (или 0, если такого нет). на си или алгоритм.
Ответ:
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 оценок)
Популярные вопросы: Информатика
yaltame
22.03.2023 04:22
Где здесь ошибка program n_11; var a, b, c: real; var d: real; var x, x1, x2: real; begin writeln( расширение квадратного уровнения ); write( введите коофиценты a, b, c );...
Георгий20004
22.03.2023 04:22
Охарактиризовать две любые антивирусные программы....
lilia104
31.01.2022 04:20
Изучи изображения и определи, к каким фигурам применили операцию сумма. ВЕРНЫХ ОТВЕТОВ 2 >...
13913
04.09.2022 16:17
как в паскале вставлять изображения и звук?...
LIZASSS1345
04.06.2021 04:48
Turbo pascal даны действительные числа х,у найти минимальное из них...
ЖекЖек
04.06.2021 04:48
Испрвьте ошибкиprogram zad00; {} uses crt; var a,b: array[1..20] of real; i,j: integer; mina,minb,s: real; begin { заполнение массива а} for i: =1 to 7 do begin write( введите...
KaKOYTAGHOM
20.01.2021 10:59
При кодировании чёрно-белого растрового изображения на 1 пиксель приходится 1 байт 3 байта 1 бит...
anastasiyakorc
20.01.2021 10:59
Даны 3 числа а б с.найти произведение суммы этих чисел с разностью квадратов этих чисел.решать через паскаль...
0Peppa0
05.01.2020 00:26
В бригаде, работающей на уборке сена, имеется N косилок. Первая из них работала M часов, а каждая следующая на 10 минут больше, чем предыдущая. Напишите программу, которая...
Ульяна122004
05.11.2020 04:52
Для какого символьного набора ложно высказывание:Первая буква гласная ⇾ ¬ (третья буква согласная)?1) IKANM 2) KAINA 3) KIKIS 4) IKMIK...
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку
О НАС
О нас
Блог
Карьера
Условия пользования
Авторское право
Политика конфиденциальности
Политика использования файлов cookie
Предпочтения cookie-файлов
СООБЩЕСТВО
Сообщество
Для школ
Родителям
Кодекс чести
Правила сообщества
Insights
Стань помощником
ПОМОЩЬ
Зарегистрируйся
Центр помощи
Центр безопасности
Договор о конфиденциальности полученной информации
App
Начни делиться знаниями
Вход
Регистрация
Что ты хочешь узнать?
#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;
}