Упражнения C ++: печатает двойное простое число, которое имеет максимальный размер среди двойных простых чисел, меньший или равный n
C ++ Basic: упражнение 62 с решением
Напишите программу на C ++, которая считывает заданное целое число n и печатает двойное простое число, которое имеет максимальный размер среди двойных простых чисел, меньший или равный n.
Согласно википедии «Двойное простое число - это простое число, которое либо на 2 меньше, либо на 2 больше, чем другое простое число - например, любой член пары двойных простых чисел (41, 43). Другими словами, двойное простое число является простым это имеет главный разрыв два ".
Пример решения :
Код C ++:
#include <iostream>
#include <cmath>
using namespace std;
int main() {
const int num_primes = 10005;
bool primes[num_primes];
for (int i = 2; i != num_primes; ++i) {
primes[i] = true;
}
for (int i = 2; i != int(sqrt(num_primes)); ++i) {
if (primes[i]) {
for (int j = 2; i * j < num_primes; ++j) {
primes[i*j] = false;
}
}
}
int n;
cout << "Input an integer:\n";
cin >> n;
cout << "Twin primes are:\n";
for (int i = n; i - 2 >= 0; --i) {
if (primes[i] && primes[i-2]) {
cout << i-2 << " " << i << endl;
break;
}
}
return 0;
}
Пример вывода:
Введите целое число: Двойные простые числа: 11 13
Блок - схема:
Редактор кода C ++:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программу на C, чтобы поменять местами первые и последние цифры любого числа.
Далее: Напишите программу на C ++, которая печатает три старших числа из списка чисел в порядке убывания.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования