дополнить число 42*4 так , чтобы полученное пятизначное число делилось на 72.. ПОмогите пожалуйста..очень срочно
Zzzz...
18.03.2008 19:00
а свои наработки уже есть?
vRs
18.03.2008 19:07
понятия не имею как её решить...
volvo
18.03.2008 19:35
Что тебе не понятно? Эта задача решается даже простым перебором элементарно, безо всяких оптимизаций: тебе надо получить пятизначное число, значит, вместо звездочки - 2 символа. Это значит, что перебирать надо комбинации 0 - 99. Для каждого из этих чисел формируешь пятизначное число 42xx4 (как - подумай сам), и проверяешь остаток от его деления на 72...
Итого получаешь 3 пятизначных числа...
vRs
18.03.2008 19:51
Неправильно написал 42*4*
volvo
18.03.2008 20:01
Это не сильно меняет дело, все равно результат не единственный
Значит, делать 2 вложенных цикла и с помощью двух переменных формировать число 42х4х
Zzzz...
18.03.2008 22:46
Volvo По-мойму это ему не поможет...
и еще разве не 2 чмсла будет? при 42*4* делещимя нацело на 72?
Michael_Rybak
18.03.2008 23:23
Цитата
Volvo По-мойму это ему не поможет...
А по-моему, у Вольво редко что-то не помогает ;)
vRs
21.03.2008 16:05
... я и сам понимаю что нужно сделать...я не понимаю как это сделать... тут просто словами не поможешь
Zzzz...
22.03.2008 17:22
Цитата
Что тебе не понятно? Эта задача решается даже простым перебором элементарно, безо всяких оптимизаций: тебе надо получить пятизначное число, значит, вместо звездочки - 2 символа. Это значит, что перебирать надо комбинации 0 - 99. Для каждого из этих чисел формируешь пятизначное число 42xx4 (как - подумай сам), и проверяешь остаток от его деления на 72...
Итого получаешь 3 пятизначных числа...
Это не просто слова, это для тебе слова истины как делается.
VAR q,a,b,c,i,j:longint; s:array[1..100] of longint; BEGIN a:=42; b:=4; for i:=0 to 9 do begin for j:=0 to 9 do begin c:=42*1000+i*100+4*10+j; if (c mod 72)=0 then begin inc(q); s[q]:=c; end; end; end; END.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.