Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Детские задачи (https://javascript.ru/forum/offtopic/52743-detskie-zadachi.html)

JsLoveR 05.01.2015 00:55

Следующие:)
alert (
    (1 + 2 - 3) + 4 * ((56 / 7) + 8 + 9)
);

alert (
    (1 + 2) * 3 * 4 + 5 + (6 * 7 + 8 + 9)
);

Vlasenko Fedor 05.01.2015 01:08

JsLoveR плюсанул, ты подтвердил мое предположение.
Всем спасибо. Иногда стоит потренироваться. (3 класс) :dance:

bes 05.01.2015 01:46

для затравки

//без деления и скобок
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

bes 05.01.2015 11:18

взял функцию 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

nerv_ 05.01.2015 11:41

Цитата:

Сообщение от bes
взял функцию Sweet
перебор всех возможных значений

подключили комбинаторику :)

Gozar 05.01.2015 11:51

Цитата:

Сообщение от Poznakomlus
Иногда стоит потренироваться. (3 класс)

Хочешь сказать что проще не бывает: запрограммировать робота на уровне человека 3 класса? Ты хотя бы на уровне детсада попробуй. Это ещё никому не удалось. Самообучающиеся роботы это ещё не реальность. Все они ограничены и требуют целого парка программистов. Так что сарказм тут не очень уместен. Мозг сложный орган и повторить его также сложно.;)

bes 05.01.2015 12:30

Цитата:

Сообщение от nerv_
подключили комбинаторику

так давно это изучал и так редко пользовал, что теперь даже не могу сформулировать как назвать такой случай вклинивания подстановочных значений в строгую последовательность и посчитать общее количество различных вариантов, которое может получиться, а занового изучается как физика после новогодней пьянки :) (хотя .... booze continues :D )

nerv_ 05.01.2015 12:54

Цитата:

Сообщение от Gozar
Хочешь сказать что проще не бывает: запрограммировать робота на уровне человека 3 класса?

на уровне червя

bes 05.01.2015 13:35

Цитата:

Сообщение от nerv_
на уровне червя

http://2045.ru/news/33574.html
рано или поздно доиграются, арабы приделают пулькомёт и хана нам всем :yes:
хотя всех нас ждут черви

nerv_ 05.01.2015 14:52

Цитата:

Сообщение от bes
рано или поздно доиграются, арабы приделают пулькомёт и хана нам всем

Согласно твоей логике, человечество должно было уничтожить само себя с появлением оружия (лук, копья и т.п.) Как видишь живы до сих пор :) Более того, зачем арабам "пулькомет", если можно всех жахнуть бомбой?

Послушай академика РАН - Кризис человеческой цивилизации


Часовой пояс GMT +3, время: 07:51.