Наибольший общий делитель (НОД) двух чисел может вычислен по формуле:НОД(a,b) = a, если b = 0;НОД(a,b) =НОД(b,a%b), если b > 0, где % — остаток от деления.
Наибольший общий делитель нескольких чисел вычисляется последовательным применением НОД к парам чисел:
НОД(a,b,c) =НОД(НОД(a,b),c)НОД(a) = a
Вам дана последовательность a1,a2,…,aN. Требуется подсчитать количество различных НОД подпоследовательностей ai,ai+1,…,aj (где 1 ≤ i ≤ j ≤ N) этой последовательности.
Формат ввода
Первая строка ввода содержит одно целое число N(1 ≤ N ≤ 500000). Вторая строка ввода содержит N целых чисел в диапазоне от 1 до 1018, разделенных пробелами —последовательность a1,a2,…,aN.
Формат вывода
Вывести одно целое число — количество различных значений среди gcd для всех непрерывных подпоследовательностей в заданной последовательности.
Пример 1
ВВОД
4
9 6 2 4
ВЫВОД
6
Пример 2
ВВОД
4
9 6 3 4
ВЫВОД
5
Ответы на вопрос:
Програма:
Java:
import java.util.Scanner;
public class HelloWorld {
public static void main(String []args){
Scanner in = new Scanner(System.in);
System.out.print("Number: ");
int i, num = in.nextInt();
for(i = 1; i <= 10; i++)
System.out.printf(num + " * " + i + " = " + num * i + "\n");
in.close();
}
}
Пояснення:
Спочатку імпортуємо клас Scanner із java.util. Далі оголошуємо наш клас HelloWorld та функцію main.
У функції створюємо новий екземпляр Scanner, який вказує на вхідний потік, переданий як аргумент. Виводимо текст "Number:" і користувач вводить число, яке записується в змінну num. Тепер, змінна i набуває значення від 1 до 10 (включно), виводиться відповідний текст, як у таблиці множення (нижче).
Результат:
Number: 5
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
5 * 10 = 50
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
Zhenya218803.04.2021 23:32
-
vikaolkhovskay04.10.2022 10:56
-
Gulshatkadilshina25.04.2021 06:34
-
PoLyyKo30.01.2021 23:17
-
ЛилияСадыкова55523.02.2020 13:38
-
NASTYA893629.07.2020 03:30
-
poster131225.06.2023 02:57
-
fufujyrfjyrfyjrff02.10.2020 02:27
-
Eugeniatochko31.01.2022 07:05
-
kiss86gv24.02.2022 16:24
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.