Войти
Регистрация
Спроси ai-bota
В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
Показать больше
Показать меньше
nastyhca2005
13.07.2021 14:39 •
Информатика
Число n, затем n целых чисел, которые нужно обработать. наибольший простой общий делитель всех чисел (или 0, если такого нет). на си или алгоритм.
Ответ:
Polly2970
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 оценок)
Популярные вопросы: Информатика
astashkin222
03.11.2021 19:24
procedure p(x, y, z: integer); begin y: =x+z end; procedure q(x: integer; var y: integer); begin y: =x+1 end; procedure r(var x, y: integer); begin y: =x+1 end;...
Lena163121
20.07.2022 23:02
Имеются описания: type day = (yesterday, today, tomorrow); vector = array [-1..1] of real; var a: vector; b: array [-3..3] of (x, y, z, w); c: array [ a .. z ] of...
Марк0808
17.01.2023 23:12
Файл архива занимает 150 мб сколько полных файлоф вместится на флэшку 8гб...
Superclassehdh
10.04.2023 14:21
Рассмотрите следующее описание рекурсивной функции: function f(x, y: real): real; begin if x =y then f: =x else f: =f(x+1,y-1) end; каким будет значение f(1, 10)?...
Maksprianikov
12.05.2022 21:17
Определите значение s после выполнения следующих операторов. i: =0; j: =2; while i =10 do begin i: =i+1; j: =j+1; s: =j-i; end;...
avorob
22.11.2021 17:14
5. Дана функция нахождение чисел Ферма, применяющихся в криптографии (a≤4). Создайте на основе неё процедуру в языке программирования Си. ФЕРМ(a) = 2^2^a+ 1....
haex
18.03.2020 06:34
Что из предложенного списка является наглядной формой представления информации? 1)описание маршрута 2) географическая карта 3)путевые заметки 4) воспоминания о поездке...
lennyface228
09.06.2021 20:42
На какую тему можно сделать на какую тему можно сделать презентацую...
Shkolnik1287
09.06.2021 20:42
Найти наибольшее натуральное число кодируемое 32 битами...
Be11a
01.01.2023 11:36
Решите работа мощность и энергия p= 30квт u= 250 в i -?...
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и 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;
}