Помощь - Поиск - Пользователи - Календарь
Полная версия: Задача на числа!
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
vRs
дополнить число 42*4 так , чтобы полученное пятизначное число делилось на 72..
ПОмогите пожалуйста..очень срочно
Zzzz...
а свои наработки уже есть?
vRs
понятия не имею как её решить...
volvo
Что тебе не понятно? Эта задача решается даже простым перебором элементарно, безо всяких оптимизаций: тебе надо получить пятизначное число, значит, вместо звездочки - 2 символа. Это значит, что перебирать надо комбинации 0 - 99. Для каждого из этих чисел формируешь пятизначное число 42xx4 (как - подумай сам), и проверяешь остаток от его деления на 72...

Итого получаешь 3 пятизначных числа...
vRs
Неправильно написал 42*4*
volvo
Это не сильно меняет дело, все равно результат не единственный smile.gif

Значит, делать 2 вложенных цикла и с помощью двух переменных формировать число 42х4х
Zzzz...
Volvo
По-мойму это ему не поможет...

и еще разве не 2 чмсла будет? при 42*4* делещимя нацело на 72?
Michael_Rybak
Цитата
Volvo
По-мойму это ему не поможет...


А по-моему, у Вольво редко что-то не помогает ;)
vRs
... я и сам понимаю что нужно сделать...я не понимаю как это сделать... тут просто словами не поможешь sad.gif
Zzzz...
Цитата
Что тебе не понятно? Эта задача решается даже простым перебором элементарно, безо всяких оптимизаций: тебе надо получить пятизначное число, значит, вместо звездочки - 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.

Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.