Детские задачи
Сегодня у кума, сын 3 класс загадывает задачку
есть 123456789 = 100 между цифрами можно ставить любые арифметические знаки и скобки мой вариант после 5 минут 1 + 2 + 3 + 4 + 5 + 6 + 7 + (8*9) = 100 Ваши варианты?:haha: alert(1 + 2 + 3 + 4 + 5 + 6 + 7 + (8*9) ); |
Poznakomlus,
По-моему, это тупорылая задача, она решается методом тупого перебора, нет там никакого алгоритма решения. Попадалось что-то подобное у сына друга. Не уверен, но вроде так. |
Цитата:
ты предлагаешь реализовать алгоритм полного перебора? |
че, есть полный перебор, готов предложить?
твой пост без варианта говорит не тянешь (3 класс :haha: ) эти цифры в уме складываются по мере чтения, или уже отвык от калькулятора Во блин как бы ты ответил этому пацаненку |
Цитата:
|
Племяшка сказал, что есть 5 вариантов. Я ответил, что наверное больше давай пиши 2 вариант
|
Нетрудная задачка :)
alert ( ((1 * 2) + (3 * 4)) * 5 + (6 + 7 + 8 + 9) ); |
JsLoveR,
молодец alert(1 +((2+3) *4 * 5)+6+(7*(8-9))); ждем следующий :write: |
alert( (1 + 2 + 3) * 4 + 5 + 6 + 7 * 8 + 9 ); кто-нибудь решит по-умному? :haha: |
bes да молодец и вот мы все подходим к 3 классу :dance:
Цитата:
|
Следующие:)
alert (
(1 + 2 - 3) + 4 * ((56 / 7) + 8 + 9)
);
alert (
(1 + 2) * 3 * 4 + 5 + (6 * 7 + 8 + 9)
);
|
JsLoveR плюсанул, ты подтвердил мое предположение.
Всем спасибо. Иногда стоит потренироваться. (3 класс) :dance: |
для затравки
//без деления и скобок
var operators = ["+", "-", "*", "/"],
mas = "123456789".split(""),
str = "",
result,
n = 0,
index,
resultArray = [];
for (var i = 0; i < 100000; i++) {
n++;
mas.forEach(function (value) {
index = Math.round( 2 * Math.random() );
str += value + operators[ index ];
});
str = str.substr(0, str.length - 1);
result = eval(str);
if ( result == 100 && resultArray.indexOf(str) == -1) resultArray.push(str);
str = "";
result = "";
}
console.log(resultArray.join("\n"));
1+2-3*4-5+6*7+8*9 1+2+3-4*5+6*7+8*9 1-2+3*4*5-6+7*8-9 1+2-3*4+5*6+7+8*9 1*2*3*4+5+6+7*8+9 1-2+3*4*5+6*7+8-9 1+2*3+4*5-6+7+8*9 1-2*3-4-5+6*7+8*9 1*2*3*4+5+6-7+8*9 1+2+3+4+5+6+7+8*9 1*2*3-4*5+6*7+8*9 1-2*3-4+5*6+7+8*9 1-2*3+4*5+6+7+8*9 |
взял функцию Sweet
http://javascript.ru/forum/misc/1942...tml#post117263 если ничего не напутал, то без скобок всего 15 вариантов
function combinator(matrix){
return matrix.reduceRight(function(combination, x){
var result = [];
x.forEach(function(a){
combination.forEach(function(b){
result.push( [ a ].concat( b ) );
});
});
return result;
});
};
var ops = ["+", "-", "*", "/"],
digits = "123456789".split(""),
mas = [],
resultArray = [];
//mas = combinator([ [1],ops,[2],ops,[3],ops,[4],ops,[5],ops,[6],ops,[7],ops,[8],ops,[9] ]);
digits.forEach(function (value) {
mas.push([value]);
mas.push(ops);
});
mas.splice(-1);
mas = combinator(mas);
mas = mas.map(function (value) {
return value.join("");
});
mas.forEach(function (value) {
if ( eval(value) == 100 ) {
resultArray.push(value);
};
});
console.log(resultArray.join("\n"));
1+2+3+4+5+6+7+8*9 1+2+3-4*5+6*7+8*9 1+2-3*4+5*6+7+8*9 1+2-3*4-5+6*7+8*9 1+2*3+4*5-6+7+8*9 1+2*3*4*5/6+7+8*9 1-2+3*4*5+6*7+8-9 1-2+3*4*5-6+7*8-9 1-2*3+4*5+6+7+8*9 1-2*3-4+5*6+7+8*9 1-2*3-4-5+6*7+8*9 1*2*3+4+5+6+7+8*9 1*2*3-4*5+6*7+8*9 1*2*3*4+5+6+7*8+9 1*2*3*4+5+6-7+8*9 |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
рано или поздно доиграются, арабы приделают пулькомёт и хана нам всем :yes: хотя всех нас ждут черви |
Цитата:
Послушай академика РАН - Кризис человеческой цивилизации |
Цитата:
|
забыл добавить - малолетки были пьяны или под наркотой
|
Цитата:
|
Цитата:
|
Цитата:
Достаточно посмотреть на то, как ведут себя амеры в отношении эболы. Я не удивлюсь если все так и случиться когда-нибудь в будущем. Гигантские роботы собранные в гараже какого-нибудь бедолаги будут крушить мир. http://lurkmore.to/%D0%9C%D0%B0%D1%8...B9%D0%B5%D1%80 |
Цитата:
<iframe width="640" height="390" src="//www.youtube.com/embed/DEzqTC6zBDo" frameborder="0" allowfullscreen></iframe> |
Цитата:
У нас, кстати, был такой случай, мужик не согласился переезжать, его завод обстроил вокруг, так и живет. Правда, выезжать ему не препятствуют. |
| Часовой пояс GMT +3, время: 23:00. |