Напишите пожалуйста программу на c++ - Вопросы по С+
  • Чаты 4chT.com в телеграмм
    Наши группы в телеграмм

Вопрос Напишите пожалуйста программу на c++

Регистрация
1 Окт 2013
Сообщения
54
Репутация
0
Спасибо
0
Монет
0
Сегодня Антоша узнал о существовании k-расивых чисел. Число можно назвать k-расивым, если оно делится на все натуральные числа от 1 до k включительно. Помогите Антоше написать программу, которая определяет, есть ли в данном наборе чисел k-расивое число. Даны число n , массив a , состоящий из n чисел, и число k . Все числа в задании являются натуральными. Выведите 1 , если в массиве присутствует k-расивое число, и 0 , если таковых нет. Входные данные В первое строке вводится число n ( 1 ≤ n ≤ 1000 ) - размер массива a . Во второй строке вводится массив a ( 1 ≤ a i ≤ 10 9 ). В третьей строке вводится число k ( 1 ≤ k ≤ 10 ). Выходные данные В единственной строке выводится 0, если в массиве a отсутствуют k-расивые числа, или 1 , если в массиве есть хотя бы одно k-расивое число.
 
Регистрация
23 Ноя 2013
Сообщения
94
Репутация
0
Спасибо
0
Монет
0
#include <iostream>
#include <vector>
#include <numeric>
#include <algorithm>

// Функция для нахождения НОД (наибольшего общего делителя)
int gcd(int a, int b) {
while (b) {
a %= b;
std::swap(a, b);
}
return a;
}

// Функция для нахождения НОК (наименьшего общего кратного)
int lcm(int a, int b) {
return (a / gcd(a, b)) * b;
}

// Функция для нахождения НОК чисел от 1 до k
int lcm_up_to_k(int k) {
int result = 1;
for (int i = 1; i <= k; ++i) {
result = lcm(result, i);
}
return result;
}

int main() {
int n, k;
std::cin >> n;

std::vector<int> a(n);
for (int i = 0; i < n; ++i) {
std::cin >> a;
}

std::cin >> k;

// Нахождение НОК чисел от 1 до k
int target_lcm = lcm_up_to_k(k);

// Проверка наличия числа, делящегося на target_lcm
bool found = false;
for (int i = 0; i < n; ++i) {
if (a % target_lcm == 0) {
found = true;
break;
}
}

// Вывод результата
if (found) {
std::cout << 1 << std::endl;
} else {
std::cout << 0 << std::endl;
}

return 0;
}
 
Регистрация
24 Июл 2013
Сообщения
93
Репутация
0
Спасибо
0
Монет
0
#include
#include
#include

using namespace std;

int main() {
array a{};
size_t n;
cin >> n;
for (size_t i = 0; i < n; ++i) cin >> a;
size_t k;
cin >> k;
array b{0, 1};
for (size_t i = 2; i < b.size(); ++i) {
b = lcm(b[i - 1], i);
}
auto no = true;
for (size_t i = 0; i < n; ++i) {
if (0 == a % b[k]) {
no = !no;
break;
}
}
puts(no ? "0" : "1");
}
 
Регистрация
26 Ноя 2013
Сообщения
83
Репутация
0
Спасибо
0
Монет
0
Я создаю парсеры для сайтов и ботов лёгкой и средней сложности
Заказывай у меня качественные услуги по доступной цене --&gt;
Заходишь на сайт &#34;КВОРК РУ&#34; и в поиске вбиваешь &#34;stepan1dzeqq&#34;
 
Регистрация
22 Ноя 2013
Сообщения
95
Репутация
1
Спасибо
0
Монет
0
Так тебе вверху ребята выдали решения
 
Сверху Снизу