Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.118.200.136] |
|
Сообщ.
#1
,
|
|
|
можете подсказать почему мой код не работает правильно ???
задача вот в чем Вход программы имеет следующий формат. Сначала вводится N > 0- количество чисел в последовательности А. Далее идут N целых чисел. После этого следует число M > 0 - количество чисел в последовательности В. Далее следуют M целых положительных числа. Требуется найти и напечатать те числа из последовательности А, которые делятся на все числа из последовательности B. Сначала вывести количество таких чисел, а на следующей строчке сами эти числа, разделенные пробелом (можно и в конце пробел ставить). Требование. Посчитайте НОК чисел второй последовательности. Напишите функции int gcd(int a, int b) и int lcm(int a, int b). Можете также написать функцию int lcm(const std::vector<int> & numbers), которая считает НОК всей последовательности. Да, в C++ несколько функций могут иметь одно и то же название, если у них разные количество или типы аргументов. #include <iostream> #include <vector> int gcd(int a, int b) { if (b == 0) return a; return gcd(b, a % b); } int lcm(int a, int b) { if (a % b == 0) return a; if (b % a == 0) return b; return gcd(b, a % b); } int lcm(const std::vector<int>& numbers) { int LCM; for (int i = 0; i + 1 < numbers.size(); ++i) { if (numbers.size() == 1) LCM = numbers[i]; LCM = lcm(numbers[i], numbers[i + 1]); } return LCM; } int main() { int n; std::cin >> n; std::vector<int>v1(n); for (int i = 0; i < n; ++i) std::cin >> v1[i]; int m; std::cin >> m; std::vector<int>v2(m); for (int i = 0; i < m; ++i) std::cin >> v2[i]; std::vector<int> v; for (int i = 0; i < n; ++i) { if (v1[i] % lcm(v2) == 0) v.push_back(v[i]); } std::cout << v.size() << std::endl; for (int i = 0; i < v.size(); ++i) std::cout << v[i] << std::endl; } примеры для проверки )) 1) Ввод 5 100 200 150 0 -25 4 5 50 25 20 Вывод 3 100 200 0 2) Вход 5 1 2 3 4 5 1 2 Вывод 2 2 4 |
Сообщ.
#2
,
|
|
|
В коде больше одной ошибки. Сейчас программа ломается из-за опечатки на строке 48. Остальные ошибки показывать?
|