Будь-який складний алгоритм завжди складається з декількох простих алгоритмів. Потрібно навчитись їх бачити та комбінувати.
Знайти 10 перших простих чисел.
В цій задачі використовуються такі алгоритми:
Зрозуміло, що другий алгоритм вкладений у першій.
Вхідних даних немає.
Вихідні:
Проміжні:
for (i=2;i<=n/2;i++) будемо шукати дільники числа n.
Для кожного i будемо перевіряти умову n % i==0 и, якщо вона вірна (тобто i є дільником n),
то установимо значення ознаки p=false.
#include <iostream>
using namespace std;
int main()
{
int n = 1, k = 0, i; // n - поточне число, k - лічильник простих чисел, i - лічильник циклу
bool p; // Прапорець простоти числа
do
{
n++; // Перехід до наступного числа
p = true; // Спочатку вважаємо число простим
// Перевірка чи число просте
for (i = 2; i <= n / 2; i++)
{
if (n % i == 0) // Якщо знайдено дільник
p = false; // Число не є простим
}
if (p) // Якщо число просте
{
cout << n << " "; // Виводимо його
k++; // Збільшуємо лічильник
}
} while (k <= 10); // Повторюємо, доки не знайдемо 10 простих чисел
return 0;
}
| Відповідь |
|---|
| 2 3 5 7 11 13 17 19 23 29 |
Дано натуральне число n. Знайдіть його цифровий корінь (від слова цифра, не плутати з коренем квадратним!)
Цифровий корінь числа n це цифра (1, 2, 3,...9), яка обчислюється з цифр числа n за таким алгоритмом:
| Ввід | Вивід |
|---|---|
| 3456 | 9 |
| 555 | 6 |
Вхідні:
Вихідні:
Проміжні:
#include <iostream>
using namespace std;
int main()
{
long int n; // Вхідне число
int c, s, ck; // c - поточна цифра, s - сума цифр, ck - контрольна цифра
cin >> n; // Отримання числа від користувача
do
{
s = 0; // Обнулення суми цифр
do
{ c = n % 10; // Отримання останньої цифри
s = s + c; // Додавання цифри до суми
n = n / 10; // Видалення останньої цифри
} while (n > 0); // Цикл для обчислення суми цифр числа
n = s; // Присвоєння сумі цифр для наступної ітерації
} while (s > 9); // Повторюємо, доки не отримаємо одну цифру
ck = s; // Збереження результату
cout << ck; // Виведення контрольної цифри
return 0;
}
Значно простіше можна знайти цифровий корінь числа, якщо помітити, що він є остачею від ділення цього числа на 9. Причому, якщо остача дорівнює 0, то цифровий корінь такого числа дорівнює 9.
#include <iostream>
using namespace std;
int main()
{
long int n; // Вхідне число
int ck; // Контрольна цифра (цифровий корінь)
cin >> n; // Отримання числа від користувача
ck = n % 9; // Обчислення залишку від ділення на 9
if (ck == 0) // Якщо число кратне 9
{
ck = 9; // Цифровий корінь дорівнює 9
}
cout << ck; // Виведення результату
return 0;
}
Знайдіть цифрові корені всіх простих чисел з інтервалу [100, 200]. Надрукувати число та відповідний цифровий корінь.
| Відповідь |
|---|
| 101 2 103 4 107 8 109 1 113 5 127 1 131 5 137 2 139 4 149 5 151 7 157 4 163 1 167 5 173 2 179 8 181 1 191 2 193 4 197 8 199 1 |
Вхідних даних немає.
Вихідні:
Проміжні:
#include <iostream>
using namespace std;
int main()
{
long int n, m, i; // n - поточне число, i - лічильник
int ck; // Цифровий корінь
bool p; // Прапорець простоти числа
// Перебір чисел від 100 до 200
for (n = 100; n <= 200; n++)
{
p = true; // Спочатку вважаємо число простим
// Перевірка на простоту
for (i = 2; i <= n / 2; i++)
{
if (n % i == 0) // Якщо знайдено дільник
{
p = false; // Число не просте
}
}
// Якщо число просте
if (p)
{
ck = n % 9; // Обчислення цифрового кореня
if (ck == 0) // Якщо число кратне 9
{
ck = 9; // Цифровий корінь = 9
}
cout << n << " " << ck << "\n"; // Вивід числа та його цифрового кореня
}
}
return 0;
}
Варіант 1
- Ввести з клавіатури n натуральних чисел. Для кожного числа знайдіть його цифровий корінь.
- Ввести з клавіатури два натуральних числа А і N. Вивести на екран N простих чисел, більших А.
- Вводимо з клавіатури число А та натуральні числа, поки не ввели число 0. Знайти кількість чисел взаємно простих з А.
Варіант 2
- Вводимо з клавіатури натуральні числа, поки не ввели число 0. Для кожного введеного числа знайдіть його цифровий корінь.
- Ввести з клавіатури три натуральних числа А, В і N. Вивести на екран N чисел, більших А у яких сума цифр дорівнює В.
- Ввести з клавіатури n натуральних чисел та число А. Знайти кількість чисел взаємно простих з А.
Варіант 3
- Ввести з клавіатури n натуральних чисел та число А. Скільки з цих чисел мають цифровий корінь який дорівнює А?
- Ввести з клавіатури три натуральних числа А, В і N. Вивести на екран N чисел, більших А у яких В дільників.
- Вводимо з клавіатури число А та натуральні числа, поки не ввели число 0. Чи всі ці числа взаємно прості з А?
Варіант 4
- Вводимо з клавіатури число А та натуральні числа, поки не ввели число 0. Скільки з цих чисел мають цифровий корінь який дорівнює А?
- Ввести з клавіатури три натуральних числа А, В і N. Вивести на екран N чисел, більших А у яких сума дільників кратна В.
- Ввести з клавіатури n натуральних чисел та число А. Чи всі ці числа взаємно прості з А?
Варіант 5
- Ввести з клавіатури n натуральних чисел. Скільки з цих чисел закінчуються на свій цифровий корінь?
- Ввести з клавіатури три натуральних числа А, В і N. Вивести на екран N чисел, більших А у яких сума цифр дорівнює В.
- Ввести з клавіатури три натуральних числа А, В і С. В інтервалі [A; B] знайдіть всі числа взаємно прості з С. Підрахуйте їх кількість.
Варіант 6
- Вводимо з клавіатури натуральні числа, поки не ввели число 0. Скільки з цих чисел закінчуються на свій цифровий корінь?
- Ввести з клавіатури два натуральних числа А і В. В інтервалі [A; B] для кожного числа знайдіть суму цифр. Вивести число та суму його цифр.
- Ввести з клавіатури три натуральних числа А, В і N. Вивести на екран N чисел, більших А які взаємно прості з В.
Варіант 7
- Ввести з клавіатури n натуральних чисел. Скільки з цих чисел кратні своєму цифровому кореню?
- Вводимо натуральні числа з клавіатури, поки не ввели число 0. Для кожного введеного числа знайдіть суму цифр.
- Ввести з клавіатури два натуральних числа А і В. В інтервалі [A; B] знайти всі пари взаємно простих чисел.
Варіант 8
- Вводимо з клавіатури натуральні числа, поки не ввели число 0. Скільки з цих чисел кратні своєму цифровому кореню?
- Ввести з клавіатури три натуральних числа А, В і С. В інтервалі [A; B] знайдіть числа у яких сума цифр кратна С. Підрахуйте їх кількість.
- Ввести з клавіатури натуральне число N. З'ясувати, чи є число N елементом послідовності Фібоначчі.
Варіант 9
- Ввести з клавіатури n натуральних чисел. Скільки з цих чисел починаються на свій цифровий корінь?
- Ввести з клавіатури три натуральних числа А, В и С. В інтервалі [A; B] знайдіть числа у яких кількість цифр дорівнює С. Підрахуйте їх кількість.
- Ввести з клавіатури три натуральних числа N, А і В. З'ясувати, чи є число N елементом геометричної прогресії, в якій перший член дорівнює А, а кожен наступний елемент дорівнює попередньому помноженому на В. Наприклад, для чисел А=7 В=2 N=56 відповідь буде YES, а для чисел А=7 В=2 N=15 відповідь буде NO
Варіант 10
- Вводимо з клавіатури натуральні числа, поки не ввели число 0. Скільки з цих чисел починаються на свій цифровий корінь?
- Ввести з клавіатури два натуральних числа А і В. В інтервалі [A; B] переверніть кожне число.
- Ввести з клавіатури натуральні числа N, А і В. З'ясувати, чи є число N елементом арифметичної прогресії, в якій перший член дорівнює А, а кожен наступний елемент дорівнює попередньому плюсу В. Наприклад, для чисел А=5 В=3 N=17 відповідь буде YES, а для чисел А=5 В=3 N=15 відповідь буде NO.
Варіант 11
- Ввести з клавіатури два натуральних числа А і В. В інтервалі [A; B] для кожного числа знайдіть його цифровий корінь.
- Вводимо натуральні числа з клавіатури, поки не ввели число 0. Для кожного введеного числа знайдіть кількість його цифр.
- Ввести з клавіатури три натуральних числа А, В і N. Вивести на екран N паліндромів, більших А які є простими числами.
Варіант 12
- Ввести з клавіатури три натуральних числа А, В і С. В інтервалі [A; B] знайдіть числа у яких цифровий корінь дорівнює С. Підрахуйте їх кількість.
- Вводимо натуральні числа з клавіатури, поки не ввели число 0. Переверніть кожне введене число.
- Ввести з клавіатури три натуральних числа А, В і N. Вивести на екран N чисел Фібоначчі, більших А що є простими числами.
Варіант 13
- Ввести з клавіатури два натуральних числа А і В. В інтервалі [A; B] знайдіть числа які закінчуються на свій цифровий корінь. Підрахуйте їх кількість.
- Ввести з клавіатури два натуральних числа А і N. Вивести на екран N чисел паліндромів, більших А.
- Ввести з клавіатури n натуральних чисел. Скільки з цих чисел паліндроми, що є простими числами?
Варіант 14
- Ввести з клавіатури два натуральних числа А і В. В інтервалі [A; B] знайдіть числа які починаються на свій цифровий корінь. Підрахуйте їх кількість.
- Ввести з клавіатури два натуральних числа А і N. Вивести на екран N чисел паліндромів, більших А, які є простими числами.
- Ввести з клавіатури три натуральних числа А, В і N. Вивести на екран N чисел, більших А які кратні своєму цифровому кореню.
Варіант 15
- Ввести з клавіатури три натуральних числа А, В і N. Вивести на екран N чисел, більших А у яких цифровий корінь дорівнює В.
- Ввести з клавіатури два натуральних числа А і В. В інтервалі [A; B] знайти всі паліндроми та їх кількість.
- Ввести з клавіатури два натуральних числа А і В. З інтервалу [A; B] вивести на екран тільки прості числа Фібонаачі.
Варіант 16
- Ввести з клавіатури два натуральних числа А і N. Вивести на екран N чисел, більших А які закінчуються на свій цифровий корінь.
- Ввести з клавіатури два натуральних числа А і В. В інтервалі [A; B] знайти всі паліндроми, які є простими числами та їх кількість.
- Ввести з клавіатури два натуральних числа А і В. Для кожного числа з інтервалу [A; B] вивести на екран тільки ті дільники, що є членами послідовності Фібоначчі.
Варіант 17
- Ввести з клавіатури два натуральних числа А і N. Вивести на екран N чисел, більших А які починаються на свій цифровий корінь.
- Ввести з клавіатури два натуральних числа А і В. Надрукувати з чисел Фібоначчі в інтервалі [A; B], тільки прості числа, а також їх порядкові номери в ряду Фібоначчі.
- Обчисліть та надрукувати цифрові корені досконалих (совершенных) чисел, що належать діапазону (1; 10000). Виводити число та його цифровий корінь. Пояснення: натуральне число називається досконалим (совершенным), якщо воно дорівнює сумі своїх дільників, включаючи 1 і виключаючи само число. Наприклад, число 6 досконале (6=1+2+3).