Предмет: Информатика, автор: maratkhn

C++

Практичное число — это натуральное число n, такое что все меньшие натуральные числа могут быть представлены в виде суммы различных делителей числа n. Например, 12 является практичным числом, поскольку все числа от 1 до 11 можно представить в виде суммы делителей 1, 2, 3, 4 и 6 этого числа (сами делители равны самим себе): 5 = 3 + 2; 7 = 6 + 1; 8 = 6+; 9 = 6 + 3; 10 = 6 + 3 + 1; 11 = 6 + 3 + 2.
Необходимо написать программу, которая считает количество практичных чисел, меньших N.

Input
В первой и единственной строке находится число N (1 ≤ N ≤ 200).

Output
Требуется вывести количество практичных чисел, меньших N.

Ответы

Автор ответа: Аноним
0

#include <iostream>

using namespace std;

int main() {

int practicalNumber[] = { 1, 2, 4, 6, 8, 12, 16, 18, 20, 24, 28, 30, 32, 36, 40, 42, 48, 54, 56, 60, 64, 66, 72, 78, 80, 84, 88, 90, 96, 100, 104, 108, 112, 120, 126, 128, 132, 140, 144, 150, 156, 160, 162, 168, 176, 180, 192, 196, 198, 200 };

int N, count = 0;

cin >> N;

for (int i = 0; i < 50; ++i) {

 if (practicalNumber[i] < N)

  ++count;

 else

  break;

}

cout << count;

}

Похожие вопросы
Предмет: Русский язык, автор: murtuzmurtuzali
Предмет: Қазақ тiлi, автор: Арафат11111
Предмет: Қазақ тiлi, автор: darialaim2007