Предмет: Информатика,
автор: ShkolNick5
срочно помогите пожалуйста!!!! Последовательность Хэмминга образуют натуральные числа, не имеющие других простых делителей, кроме 2, 3 и 5. Найти сумму первых N элементов этой последовательности. C++ (+текстовое решение)
Ответы
Автор ответа:
1
например, это можно сделать так:
UPD: изменено
#include <iostream>
#include <set>
#include <cmath>
using namespace std;
bool prime(int n){
for(int i = 2; i * i <= n; i++)
if(n % i == 0)
return false;
return true;
}
signed main() {
int n;
cin >> n;
set<int> ok;
ok.insert(2);
ok.insert(3);
ok.insert(5);
int sum = 0, cnt = 0,cur = 2;
while(cnt != n){
bool norm = true;
for(int i = 2; i * i <= cur; i++)
if(cur % i == 0 && ( ok.find(i) == ok.end() && prime(i)) || (cur % (n/i) == 0 && ok.find(n/i) == ok.end() && prime(n/i)))
norm = false;
if(norm){sum += cur; cnt++;}
cur++;
}
cout << sum;
}
ShkolNick5:
можешь написать комментарии к каждой строчке программы, пожалуйста
Похожие вопросы
Предмет: Другие предметы,
автор: Лена9995
Предмет: Русский язык,
автор: baranovk02
Предмет: Русский язык,
автор: stepanczovatat
Предмет: Математика,
автор: Nurzhan94
Предмет: Математика,
автор: НатаБР37