Войти
Регистрация
Спроси ai-bota
В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Показать больше
Показать меньше
dfghngh
29.12.2020 05:07 •
Информатика
Число n, затем n целых чисел, которые нужно обработать. наибольший простой общий делитель всех чисел (или 0, если такого нет). на си или алгоритм.
Показать ответ
Ответ:
Цветочек123огрл
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 оценок)
Популярные вопросы: Информатика
Помощник223
26.12.2022 09:04
Отчаянный крик о Информатика, компьютерное исследование логических формул. Очень Лабораторная работа номер 19, мне нужно её сдать в файле xls...
mashkax28марічка
03.03.2021 22:47
1. Закончите предложения. Функция ВЫБОРОФункция ЕСЛИ() ... .Функция СТРОЧН() Функция ТИП()Функция ПСТР() ......
Дениссирвачак
13.06.2021 10:37
Написать программу на c++ для решения следующей : в данной последовательности расположить сначала все отрицательные, затем положительные элементы, а нулевые элементы...
Гыгыгы14
10.07.2020 09:51
1. напишите программу, которая вычисляет выражение, состоящее из трех чисел и двух знаков (допускаются знаки «+», «–», «*» и «/»). выражение вводится как символьная...
fedya33
13.01.2022 23:40
Если хорошо разбираетесь в языке c или arduino ideпетр продолжил изучение своей платформы для прототипирования и решил научиться и напрямую, без использования библиотечных...
Pechencka666
19.08.2021 01:07
Алишер рисовал костюмы для каждого спрайта в проекте с встроенного графического редактора определите ситуацию в которой были нарушены авторские права...
g3force
13.11.2021 04:54
Запустите интергрирование среду порграмы составьет програмы код для дан ридус круга = 2 поредилите диаметр круга...
sofa287
12.11.2021 21:27
6. определите характеристики процессора: intel core i3-2405s 2.1ghz/4000mhz/4mbа). кеш-память-б). фирма-производитель-в). тактовая частота-г). название модели процессора-д)....
шегп
20.10.2020 03:34
Написать на паскале условие №2: ввод с клавиатуры последовательности чисел заканчивается вводом нуля, найти произведение этих чисел, нуль в последовательность не...
mamaamamma33
01.10.2021 00:14
Некое растровое изображение было сохранено в файле p1.bmp как 32-цветный рисунок. Какова глубина цвета на нем?...
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку
О НАС
О нас
Блог
Карьера
Условия пользования
Авторское право
Политика конфиденциальности
Политика использования файлов cookie
Предпочтения cookie-файлов
СООБЩЕСТВО
Сообщество
Для школ
Родителям
Кодекс чести
Правила сообщества
Insights
Стань помощником
ПОМОЩЬ
Зарегистрируйся
Центр помощи
Центр безопасности
Договор о конфиденциальности полученной информации
App
Начни делиться знаниями
Вход
Регистрация
Что ты хочешь узнать?
Спроси ai-бота
#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;
}