Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.18;
Скачать: CL | DM;

Вниз

Простая прога   Найти похожие ветки 

 
\/ainu   (2007-02-22 17:51) [0]

Привет, помогите пожалуйста написать простеньеую программу для решения следующей задачи: нужно найти четырёх значное число сумма чисел которого равна 16, произведения этих чисел равно 180. тАкже известно что первые две цифры чётные а вторые две нет.Простите за такой тупой вопрос но я только начинаю изучать делфи(мне всего 12 лет) и не знаю как сделать это.


 
Megabyte ©   (2007-02-22 18:00) [1]

Дельфи тут не причем, обычная логика.
Реши на бумаге, а названия функций мы тебе подскажем...


 
\/ainu   (2007-02-22 18:05) [2]

На бумаге очень долго, я по этому и хотел сделать это программно


 
Джо ©   (2007-02-22 18:07) [3]

> [2] \/ainu   (22.02.07 18:05)
> На бумаге очень долго, я по этому и хотел сделать это программно

СНАЧАЛА распиши алгоритм на бумаге. А потом уже переводи его в код. Если нет алгоритма, то и код сам собой не напишется :)


 
\/ainu   (2007-02-22 18:11) [4]

А какай тут может быть алгоритм, есть числа где первые две цифры чётные а вторые две нет, и если сумма числа  равна 16, произведения 180, то это и есть правильный ответ.


 
Virgo_Style ©   (2007-02-22 19:00) [5]

\/ainu   (22.02.07 18:11) [4]
ну хоть полный перебор, для начала-то


 
Virgo_Style ©   (2007-02-22 19:07) [6]

кстати, на бумаге тоже решается на раз-два


 
\/ainu   (2007-02-22 19:09) [7]

Virgo_Style ©   (22.02.07 19:07) [6]
Подскажи пожалуйста как хотябы на бумаги это решить, а я сам попробую прогу написать.


 
Virgo_Style ©   (2007-02-22 19:24) [8]

число klmn, т.е. K*1000+L*100+m*10+n;
два первых - четные, тогда обозначим K = 2k, L = 2l.

тогда
2k+2l+m+n = 16
2k*2l*m*n = 180;


Из второго равенства, зная, что k,l,m,n - целые, получим возможные их значения. Подставляя их в первое уравнение (дело упрощается тем, что k,l<=4), найдем удовлетворяющий нас вариант


 
Kolan ©   (2007-02-22 19:25) [9]

&laquo;нужно найти четырёх значное число сумма чисел которого равна
16, произведения этих чисел равно 180.&raquo;

Для начала попробуй перебором.

Четырёх значное значит ровно 4 цифры(1000-9999).
Передирай числа от 1000 до 9999 и проверяй свои условия(сумма чисел равна 16, произведения этих равно 180).


 
koha ©   (2007-02-22 19:32) [10]


> \/ainu   (22.02.07 17:51) 
> Привет, помогите пожалуйста написать простеньеую программу
> для решения следующей задачи: нужно найти четырёх значное
> число сумма чисел которого равна 16, произведения этих чисел
> равно 180


произведение 4х значных чисел ни когда не может ровннять 180 по определению.


 
Virgo_Style ©   (2007-02-22 19:33) [11]

Kolan ©   (22.02.07 19:25) [9]
imo перебирать удобнее цифры, учитывая при этом сказанное мной выше


 
\/ainu   (2007-02-22 19:47) [12]

Virgo_Style ©   (22.02.07 19:24) [8]
Чё то я ничего не понял, что это значит K*1000+L*100+m*10+n;
Я попробывал написать прогу для перебора, но как я уже сказал у меня нет опыта в написании программ вот что у меня получилось
k:=k+1;
if k=9 then begin
k:=0;
l:=l+1;
if l=9 then  begin
l:=0;
m:=m+1;
if m=9 then begin
m:=0;
n:=n+1;
if n=9 then  begin
n:=0;
if (k+l+m+n=16) and (k*l*m*n=180) then begin
listbox1.Items.add(inttostr(k));
listbox1.Items.add(inttostr(l));
listbox1.Items.add(inttostr(m));
listbox1.Items.add(inttostr(n));
timer1.Enabled:=false;
end;
end;
end;
end;
end;
Но она не работает(хотя это меня не удевляет)


 
Virgo_Style ©   (2007-02-22 19:59) [13]

\/ainu   (22.02.07 19:47) [12]
K*1000+L*100+m*10+n


K, L, m, n - это цифры числа, которое равно K*1000+L*100+m*10+n


 
\/ainu   (2007-02-22 20:04) [14]

а почему оно равно  K*1000+L*100+m*10+n и вообще что это значит умножить на 1000,100,10?
Вообщето я уже нашёл это число(2356), точнее это сделал моя прога. Но просто интересно что это за алгоритм который предложил Virgo_Style.
Если можно то напишите полное решение по этому методу.


 
Allexandr ©   (2007-02-22 20:09) [15]


> Virgo_Style ©   (22.02.07 19:24) [8]
>
> число klmn, т.е. K*1000+L*100+m*10+n;
> два первых - четные, тогда обозначим K = 2k, L = 2l.
>
> тогда
> 2k+2l+m+n = 16
> 2k*2l*m*n = 180;
>



Я согласен с этим, но есть одно но. Уважаемый Virgo_Style упустил из виду, что последние два числа должны быть нечетными. А в Вашем решении m и n могут быть как четными, так и нечетными.



Страницы: 1 вся ветка

Текущий архив: 2007.03.18;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.05 c
15-1171752456
koha
2007-02-18 01:47
2007.03.18
Может быть обсудим новую утилиту


15-1172180996
wp2
2007-02-23 00:49
2007.03.18
Где именно нулевая дорожка?


2-1172663875
tan
2007-02-28 14:57
2007.03.18
Работа с OpenOffice.


8-1152996420
@!!ex
2006-07-16 00:47
2007.03.18
Упаковка звука.


15-1171973570
TIF
2007-02-20 15:12
2007.03.18
ПИРАТ УРАЛЬСКИХ МОРЕЙ -Кто у кого ворует интеллект.собственность?