Форум » Обработка числовых последовательностей » Вариант 2 из генератора задание C4 (№551) кратность 14 » Ответить

Вариант 2 из генератора задание C4 (№551) кратность 14

Kuzma: Здравствуйте. Если в произведение входит один из множителей кратный 14, то второй множитель может быть любым, в том числе и просто максимально возможным числом из оставшихся. Правильно ли я понимаю, что нужно добавить еще поиск просто максимального элемента и проверять на максимум еще и это произведение (max14 и обычный максимум)?

Ответов - 8

AQUA: Добавить поиск максимального элемента, еще и проверить что бы в max14 и max не записывалось одно и тоже введенное число.

AQUA: Верная ли программа на с++? Приведенная в ответе программа работает неправильно. #include <iostream> using namespace std; int main() { int N, a, i, m2=0, m7=0, m14=0, mx =0; cin >> N; for (i = 0;i < N;i++) { cin >> a; if (a % 2 == 0 && a % 7 != 0 && a > m2) m2 = a; if (a % 7 == 0 && a % 2 != 0 && a > m7) m7 = a; if (a % 14 == 0 && a > m14) m14 = a; if (a > mx) { if (a % 14 == 0 && m14 > mx) { mx = m14; m14 = a; } else mx = a; } } if (m14*mx>m2*m7) cout << m14*mx; else cout << m2*m7; return 0; }

Поляков: AQUA пишет: Приведенная в ответе программа работает неправильно. Приведите набор данных, на котором она работает неправильно.


Поляков: AQUA пишет: Верная ли программа на с++? С первого взгляда - верная.

AQUA: AQUA пишет: Приведите набор данных, на котором она работает неправильно. На входных данных в условии. Если я правильно понимаю, цикл else стоит на таком же отступе как и 3 if стоящие выше, то есть вне цикла if (dat mod 14=0) and (dat>M14) then begin. Тогда программа с входными значениями данными в условии выводит 7000 вместо 28000.

Поляков: AQUA пишет: Тогда программа с входными значениями данными в условии выводит 7000 вместо 28000. Запустите программу и проверьте.

AQUA: Поляков пишет: Запустите программу и проверьте. Если программа имеет такой вид http://shot.qip.ru/00V2IE-3CTXDgWK0/ то выводит 7000.

Поляков: AQUA пишет: Если программа имеет такой вид Стоит начать с того, что правильно расставить скобки. И будет вам счастье. А программу на Паскале можно прямо скопировать и запустить. И проверить. А то испорченный телефон получается.



полная версия страницы