Форум «Всё о Паскале» _ Задачи _ Сложнейшая задача!
Автор: Bac9 21.03.2008 4:59
Помагите плиз надо завтро срочно отчё здать а я нечё несделал!!!!Дополнить число ***999 цифрами слева так,чтобы полученное число делилось на 13,17,19!!
Автор: volvo 21.03.2008 5:01
Цитата
надо завтро срочно отчё здать а я нечё несделал
Это - твои проблемы... Вот тут я говорил, что надо делать для решения: http://forum.pascal.net.ru/index.php?s=&showtopic=21483&view=findpost&p=120559 (у тебя почти тот же случай)
Автор: Zzzz... 21.03.2008 6:18
Может нам еще за тебя здать?
Автор: Bac9 21.03.2008 14:53
Нет!!здавать ненадо не чесно пацаны выручайте!!!
Автор: Michael_Rybak 21.03.2008 16:22
тебе же volvo уже дал ссылку на решение похожей задачи.
Автор: Bac9 21.03.2008 16:37
Там нету решений и я ваше немогу врубиться в эту задачу
Автор: Michael_Rybak 21.03.2008 18:08
Неправда. Решение там есть.
Цитирую:
Цитата
Эта задача решается даже простым перебором элементарно, безо всяких оптимизаций: тебе надо получить пятизначное число, значит, вместо звездочки - 2 символа. Это значит, что перебирать надо комбинации 0 - 99. Для каждого из этих чисел формируешь пятизначное число 42xx4 (как - подумай сам), и проверяешь остаток от его деления на 72...
ОК, переформулирую для твоей задачи:
Цитата
Эта задача решается даже простым перебором элементарно, безо всяких оптимизаций: тебе надо получить шестизначное число, значит, вместо звездочек - 3 символа. Это значит, что перебирать надо комбинации 100 - 999(перебор начинается с 100, а не с 000, потому что полученное в результате число не должно начинаться с нуля). Для каждого из этих чисел формируешь шестизначное число ххх999 (как - подумай сам), и проверяешь остаток от его деления на 13, 17 и 19...
Теперь попробуй что-нибудь написать сам.
Автор: Гость 21.03.2008 18:19
кк СПС поробую!!!!
Автор: Гость 24.03.2008 17:25
У меня неполучаеться помагите плз получше напишите плз текст проги !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
Автор: Артемий 24.03.2008 17:45
Блин,а может код хоть даш..а то сложновато както наугад!
Автор: Michael_Rybak 24.03.2008 17:46
Похоже проблема в том, что не получается начать
Автор: Гость 24.03.2008 18:02
нет вот я уже её сделал вот решение: uses crt; VAR q,a,b,c,k,i,j:longint; s:array[1..100] of longint; BEGIN clrscr; a:=999; for i:=1 to 9 do begin for j:=0 to 9 do begin for k:=0 to 9 do begin c:=i*100000+j*10000+k*1000+9*100+9*10+9; end; if (c mod 13)=0 then writeln ('4ucLo geJluTc9 Ha 13 ',c); if (c mod 17)=0 then WRITELN('4ucLo geJluTc9 Ha 17 ',C); if (c mod 19)=0 then WRITELN('4ucLo geJluTc9 Ha 19 ',C); end; end; END.
Автор: Zzzz... 24.03.2008 21:13
вроде тебе нужно чтобы число делилось и на 13,и на 19, и на 17?
Автор: volvo 24.03.2008 21:44
Цитата
вот решение:
Это не решение данной задачи... У тебя проверяются далеко не все числа из тех, которые должны проверяться, а ты не видишь этого, потому что программа не отформатирована как следует.
Hint: обрати внимание, что все без исключения числа, которые ты получаешь, имеют вид **9999... Что, например, число 881999 не делится на 19? Делится... Подумай, почему оно не печатается...
Автор: Zzzz... 24.03.2008 22:07
if-ы не там стоят
Автор: Странник 25.03.2008 5:07
Немного подредактировал...Правильно?
uses crt; VAR q,a,b,c,k,i,j:longint;
BEGIN clrscr; a:=999; for i:=1 to 9 do begin for j:=0 to 9 do begin for k:=0 to 9 do begin c:=i*100000+j*10000+k*1000+9*100+9*10+9; if (c mod 13)=0 then writeln ('4ucLo geJluTc9 Ha 13 ',c); if (c mod 17)=0 then WRITELN('4ucLo geJluTc9 Ha 17 ',C); if (c mod 19)=0 then WRITELN('4ucLo geJluTc9 Ha 19 ',C); end;
end; end; readln; end.
Автор: Zzzz... 25.03.2008 5:40
да, только если ему нужно чтобы число делилось или на13, или на 17, или на 19.
и еще нафиг тут переменная a она же не используется?
Автор: volvo 25.03.2008 5:46
Цитата
и еще нафиг тут переменная a она же не используется?
То, что здесь на фиг не нужны переменные i, j, и k тебя не смутило? Автор, как видно, руководствовался принципом, чем больше циклов - тем круче, поэтому вместо одного сделал 3...
Автор: Zzzz... 25.03.2008 5:48
похоже на то)...
Автор: Странник 25.03.2008 16:00
Цитата(Zzzz... @ 25.03.2008 4:10)
да, только если ему нужно чтобы число делилось или на13, или на 17, или на 19.
и еще нафиг тут переменная a она же не используется?
Я просто переставил циклы...На большое количество переменных внимания обращать не стал...