М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Guru2002o6
Guru2002o6
07.03.2022 07:15 •  Информатика

3.задано n натуральных чисел a1,a2,…,an ( ), каждое из которых находится в интервале от 1 до 10000. необходимо определить количество натуральных делителей произведения a1*a2*…*an. надо написать программу на си

👇
Ответ:
IrinaCipher
IrinaCipher
07.03.2022
#include<stdio.h>
int main(){
    int div[10001];
    int i,d,n,x;
    long int p = 1;
   
    for(i = 0; i < 10000; i++)
        div[i] = 1;

    scanf("%d",&n);
    for(i = 0; i < n; i++){
        scanf("%d",&x);
        d = 2;
        while(d <= x){
            while(x%d == 0){
                x /= d;
                div[d]++;
            }
            d++;
        }
    }

    for(i = 0; i < 10000; i++)
        p *= div[i];
    printf("%ld",p);
    return 0;
}


/*
Небольшое пояснение:
Идея решения заключается в том, что любой делитель результата представим как произведение простых чисел в определенных степенях. Тогда набор этих степеней однозначно определяет соответствующий делитель. Максимальная степень, с которой может быть взято простое число, является суммой степеней, с которыми оно входит в множители.
Для простоты массив вхождений делителей задан от 0 до 10000, но т.к. перебор делителей множителей идет по возрастанию, учтены будут только простые делители.

Пример:
10 * 8 * 9 = 720

10 = 2^1*5^2
8 = 2^3
9 = 3^2

Т.е. число 2 входит в произведение в четвертой степени, 3 - во второй, 5 - в первой.

Значит любой делитель числа 720 представим (единственным образом) в виде
2^(d2) * 3^(d3) * 5^(d5), где d2 = 0..4, d3 = 0..2, d5 = 0..1

Например, 1 = 2^0 * 3^0 * 5^0, 720 = 2^4 * 3^2 * 5^1

Есть выбрать выбрать d3 и выбрать d5 --> всего 5 * 3 * 2 = 30 возможных наборов --> 30 делителей у числа 720

(если какое-то число не появляется среди делителей множителей, то его можно взять только одним со степенью 0 - что не влияет на ответ)
*/
4,7(5 оценок)
Открыть все ответы
Ответ:

уже было такое.. иногда пользуйтесь поиском чтоль.

1) полностью наполнить 5 литровый бидон 
2)из 5 литровой в 3х литровую переливаем масло( в 5 литровой остаётся 2) 
3)3х литровую в общую ёмкость 
4) из 5 литровой в 3х литровую переливаем оставшиеся 2 литра из 5 литровой 
5) доверху наполняем 5 литровую 
6) из 5 литровой доверху наполняем 3х литровую 
7) из трёхлитровой переливаем всё в бидон, в 5ти литровой осталось 4

 

пишем бидоны(их кол-во), затем проделываем вот что: 
8 5 3 
8 0 0 
3 5 0 
3 2 3 
6 2 0 
6 0 2 
1 5 2 
1 4 3 
4 4 0 
ну то есть разливали масло по каждому бидону, пока не получится результат

 

или так

 


1. из 8 в 3 (там останется 5) 
2. из 3 в 5 
3. из 8 в 3 (там останется 2) 
4. из 3 в 5 долить 2 (остается 1) 
5. из 5 в 8 (там стало 7) 
6. из 3 в 5 
7. из 8 в 3 (там стало 4) 
8. из 3 в 5 (там тоже стало 4)

4,7(47 оценок)
Ответ:
Madina9742
Madina9742
07.03.2022

Ну как сказать, ошибка в операционной системе (или же повреждение файловой системы ОС). Что может

1. Попробуй перезагрузить ПК и выполнить восстановление системы до последней сохраненной даты.

Для восстановления системы необходимо проделать несколько простых шагов:

перезагружаем компьютер, при загрузке системы нажимаем "F8";

P.S. Не на всех версиях BIOS именно эта клавиша иногда ""F1" или же  "Tab";

выбираем "Устранение неполадок";

затем "Восстановление системы" и "Выбор точки восстановления";

нажимаем на "Далее" пока не появится "Готово";

Перезагружаем компьютер, в меню выбираем "Загрузку с последней удачной конфигурацией"

2. Переустановка ОС.

Но это уже крайний случай если первый вариант не

Объяснение:

4,4(65 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ