Dmitry Shakirov
Ученик
(178)
1 неделю назад
1. Найдем количество чисел, не превышающих 1000, которые делятся на 3, 5, 7 и 11.
Чисел, делящихся на 3: 1000 / 3 = 333.
Чисел, делящихся на 5: 1000 / 5 = 200.
Чисел, делящихся на 7: 1000 / 7 = 142.
Чисел, делящихся на 11: 1000 / 11 = 90.
Чисел, делящихся на 3 и 5: 1000 / 15 = 66.
Чисел, делящихся на 3 и 7: 1000 / 21 = 47.
Чисел, делящихся на 3 и 11: 1000 / 33 = 30.
Чисел, делящихся на 5 и 7: 1000 / 35 = 28.
Чисел, делящихся на 5 и 11: 1000 / 55 = 18.
Чисел, делящихся на 7 и 11: 1000 / 77 = 12.
Чисел, делящихся на 3, 5 и 7: 1000 / 105 = 9.
Чисел, делящихся на 3, 5 и 11: 1000 / 165 = 6.
Чисел, делящихся на 3, 7 и 11: 1000 / 231 = 4.
Чисел, делящихся на 5, 7 и 11: 1000 / 385 = 2.
Чисел, делящихся на 3, 5, 7 и 11: 1000 / 1155 = 0.
Суммируем все найденные числа и получаем: 333 + 200 + 142 + 90 - 66 - 47 - 30 - 28 - 18 - 12 + 9 + 6 + 4 + 2 - 0 = 635.
2. Найдем количество всех натуральных чисел, не превышающих 1000.
Всего чисел до 1000: 1000.
3. Вычтем из общего количества чисел количество чисел, делящихся на 3, 5, 7, и 11. Получим количество чисел, которые не делятся ни на 3, ни на 5, ни на 7, ни на 11.
1000 - 635 = 365.
Таким образом, количество натуральных чисел, не превосходящих 1000, которые не делятся ни на 3, ни на 5, ни на 7, ни на 11, равно 365.
Любопытный исследователь
Мастер
(1188)
1 неделю назад
#include
using namespace std;
int main() {
unsigned short count=0;
for (unsigned short i=1; i < 1001; ++i) {
if ((i % 3 != 0) && (i % 5 != 0) && (i % 7 != 0) && (i % 11 != 0)) ++count;
}
cout< return 0;
}
Ещё можно, как @Jurijus Zaksas, только вместо сравнения с нулём применить логическое отрицание:
#include
int main() {
unsigned short n=1000;
for (unsigned short i=1; i < 1001; ++i)
n -= !(i % 3) | !(i % 5) | !(i % 7) | !(i % 11);
std::cout << n;
return 0;
}
В любом случае, ответ: 415.