Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.03.18;
Скачать: [xml.tar.bz2];

Вниз

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

 
\/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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.036 c
2-1172665986
jappak
2007-02-28 15:33
2007.03.18
Относительно координат


2-1172487297
Bogdan1024
2007-02-26 13:54
2007.03.18
АКФ


4-1162569603
Dmitry_177
2006-11-03 19:00
2007.03.18
Работа с INI-файлами на API


1-1169113346
MegaVolt
2007-01-18 12:42
2007.03.18
Как в OwnerDraw режиме ListView задать высоту строк?


2-1172510704
ezorcist
2007-02-26 20:25
2007.03.18
Незавершающееся консольное приложение.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский