Задача 1
Найти сумму всех чисел меньше 1000, кратных 3 или 5.
Идея
Перебираем все числа от 1 до 999. Если число делится на 3 или на 5 без остатка, добавляем его к сумме.
Решение на C++
#include <iostream>
int main() {
int sum = 0;
for (int i = 1; i < 1000; i++) {
if (i % 3 == 0 || i % 5 == 0) {
sum += i;
}
}
std::cout << "Ответ: " << sum << std::endl;
return 0;
}
Что здесь происходит
% — оператор остатка от деления.
i % 3 == 0 означает, что число кратно 3.
|| означает логическое «ИЛИ».
Переменная sum накапливает сумму подходящих чисел.
Ответ: 233168
---
Задача 2
Найти наименьшее число, которое делится на все числа от 1 до 20.
Идея для начинающих
Будем проверять числа, пока не найдём такое, которое делится на все числа от 1 до 20.
Этот способ понятен, но работает очень медленно для больших диапазонов.
Наивное решение на C++
#include <iostream>
int main() {
long long number = 20;
while (true) {
bool ok = true;
for (int i = 1; i <= 20; i++) {
if (number % i != 0) {
ok = false;
break;
}
}
if (ok) {
std::cout << "Ответ: " << number << std::endl;
break;
}
number += 20;
}
return 0;
}