Member 13244314 Ответов: 1

Запросы на простое число


Задан массив a из N целых чисел и Q запросов, где каждый запрос предоставляет вам четыре целых числа L, R, X и Y.
вы должны вычислить значение каждого запроса в соответствии с заданной функцией ?
F(L, R, X, Y) {

     result := 0
     for( i = X to i = Y )  {
         if( isPrime(i) ) {
             for( j = L to j = R ) {
                  number := a[j]
                  exponent := 0
                  while( number % i == 0 ) {
                     exponent := exponent + 1 
                     number := number/i
                  }
                  result := result + exponent
              }
         }
     }
     return result
}


isPrime (x) возвращает true, если x является простым числом, в противном случае false.

Example:
4 // size of array
2 3 4 5 // array elements
2 //number of queries
1 3 2 3 
1 4 2 5

Output:
4
5


Что я уже пробовал:

я пробовал предварительно вычислить все простые множители всех чисел в массиве , но после этого у меня возникли проблемы с обработкой запросов

Richard MacCutchan

Неужели? Насколько интересный. А теперь у вас есть вопрос?

Member 13244314

я отредактировал свой вопрос, извините за проблему

Richard MacCutchan

Ну, мы все еще понятия не имеем, какая у вас проблема.

Member 13244314

тогда вы никогда не сможете понять этот вопрос Извините

Richard MacCutchan

Что ж, меня это вполне устраивает. Если вы не хотите объяснять свою проблему, то не удивляйтесь, если никто не предложит вам решение.

Patrice T

- Задан массив a из N целых чисел и Q запросов, где каждый запрос дает вам четыре целых числа L, R, X и Y.
В этом нет никакого смысла !
Задавать вопросы-это навык[^]
Некоторые рекомендации по размещению вопросов на форумах[^]

Member 13244314

я отредактировал свой вопрос, извините за проблему

Patrice T

И язык тоже выбери.

1 Ответов

Рейтинг:
2

Patrice T

Цитата:
но после этого у меня возникли проблемы с обработкой запросов

Это та часть, которая ближе всего к вопросу, и вы видите, что у нас ничего нет.

Это то, что вы должны сделать, чтобы иметь надежду на решение.
- Выбирай язык.
- Когда вы приводите пример, дайте входные данные, фактический выход и ожидаемый выход.
- Когда вы даете код, дайте код достаточно полный, чтобы мы знали, что он делает. Включите вызывающий код.
- "есть проблема"," не работает " не информативны. Расскажите, что он делает и в чем он ошибается.

На данный момент Вы единственный, кто может вам помочь.

Существует инструмент, который позволяет вам видеть, что делает ваш код, его имя-отладчик. Освоение отладчика не является обязательным, оно обязательно для любого программиста, без исключения.
Это также отличный инструмент обучения, потому что он показывает вам реальность, и вы можете увидеть, какие ожидания соответствуют реальности.
Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволяет вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения, это невероятный инструмент обучения.

Отладчик-Википедия, свободная энциклопедия[^]

Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]
Базовая отладка с помощью Visual Studio 2010-YouTube[^]
http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html[^]
https://www.jetbrains.com/idea/help/debugging-your-first-java-application.html[^]
phpdbg | php отладчик[^]
Методы отладки для PHP-программистов[^]
Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.