Автор | Сообщение |
|
Отправлено: 07.02.18 20:41. Заголовок: Вариант 2 из генератора задание C4 (№551) кратность 14
Здравствуйте. Если в произведение входит один из множителей кратный 14, то второй множитель может быть любым, в том числе и просто максимально возможным числом из оставшихся. Правильно ли я понимаю, что нужно добавить еще поиск просто максимального элемента и проверять на максимум еще и это произведение (max14 и обычный максимум)?
|
|
|
Ответов - 8
[только новые]
|
|
|
Отправлено: 13.05.18 10:53. Заголовок: Добавить поиск макси..
Добавить поиск максимального элемента, еще и проверить что бы в max14 и max не записывалось одно и тоже введенное число.
|
|
|
|
Отправлено: 13.05.18 10:57. Заголовок: Верная ли программа ..
Верная ли программа на с++? Приведенная в ответе программа работает неправильно. #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; }
|
|
|
|
| Администратор
|
Сообщение: 1665
|
|
Отправлено: 13.05.18 11:14. Заголовок: AQUA пишет: Приведен..
AQUA пишет: цитата: | Приведенная в ответе программа работает неправильно. |
|
Приведите набор данных, на котором она работает неправильно.
|
|
|
|
| Администратор
|
Сообщение: 1666
|
|
Отправлено: 13.05.18 11:18. Заголовок: AQUA пишет: Верная л..
AQUA пишет: цитата: | Верная ли программа на с++? |
|
С первого взгляда - верная.
|
|
|
|
Отправлено: 13.05.18 11:29. Заголовок: AQUA пишет: Приведи..
AQUA пишет: цитата: | Приведите набор данных, на котором она работает неправильно. |
| На входных данных в условии. Если я правильно понимаю, цикл else стоит на таком же отступе как и 3 if стоящие выше, то есть вне цикла if (dat mod 14=0) and (dat>M14) then begin. Тогда программа с входными значениями данными в условии выводит 7000 вместо 28000.
|
|
|
|
| Администратор
|
Сообщение: 1667
|
|
Отправлено: 13.05.18 11:33. Заголовок: AQUA пишет: Тогда пр..
AQUA пишет: цитата: | Тогда программа с входными значениями данными в условии выводит 7000 вместо 28000. |
|
Запустите программу и проверьте.
|
|
|
|
Отправлено: 13.05.18 11:47. Заголовок: Поляков пишет: Запу..
|
|
|
|
| Администратор
|
Сообщение: 1668
|
|
Отправлено: 13.05.18 11:59. Заголовок: AQUA пишет: Если про..
AQUA пишет: цитата: | Если программа имеет такой вид |
|
Стоит начать с того, что правильно расставить скобки. И будет вам счастье. А программу на Паскале можно прямо скопировать и запустить. И проверить. А то испорченный телефон получается.
|
|
|
|