Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Задача на числа!

Автор: vRs 18.03.2008 18:25

дополнить число 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

Это не сильно меняет дело, все равно результат не единственный smile.gif

Значит, делать 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

... я и сам понимаю что нужно сделать...я не понимаю как это сделать... тут просто словами не поможешь sad.gif

Автор: 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.