Автор | Сообщение |
|
Отправлено: 11.11.20 21:10. Заголовок: ege 17 №66 Не сходится ответ.
Решил задачу двумя способами: var x,i,k7,k,mx:integer; begin k:=0;mx:=0; for i:=333666 to 666999 do begin x:=i; k7:=0; while x>0 do begin if (x mod 10) = 7 then k7:=k7+1; x:=x div 10; end; if (k7=2) and (i mod 17 = 0) then begin k:=k+1; if i>mx then mx:=i; end; end; print (k,mx); end. var i, mx, k, j, k_7: integer; s: string; begin k := 0; mx := 0; for i := 333666 to 666999 do begin s := IntToStr(i); k_7 := 0; for j:=1 to Length(s) do if s[j]='7' then k_7+=1; if (k_7 = 2) and (i mod 17 = 0) then begin k := k + 1; if i > mx then mx := i; end; end; print(k, mx); end. В ответе выдает 1380 666774. Максимальное сходится с ответами, а количество - ни в какую.. В чем ошибка??
|
|
|
Новых ответов нет
[см. все]
|
|
|
Отправлено: 12.11.20 07:58. Заголовок: Неверное прочтение условия.
Добрый день. Формулировки "есть 2 цифры 7" и "есть РОВНО 2 цифры 7" разные. В вашем решении, например, не учитывается число 447777, в котором 2 цифры 7 есть.
|
|
|
|
Отправлено: 12.11.20 10:25. Заголовок: Спасибо, Евгений )) ..
Спасибо, Евгений )) Ждал подвоха в ваших задачах и такой простой не увидел... )))
|
|
|
|