Форум: "Начинающим";
Текущий архив: 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]«нужно найти четырёх значное число сумма чисел которого равна
16, произведения этих чисел равно 180.»
Для начала попробуй перебором.
Четырёх значное значит ровно 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.131 c