センター試験: 数学IIBのプログラムについて語るスレ part2
■ このスレッドは過去ログ倉庫に格納されています
0048デフォルトの名無しさん
2013/01/23(水) 14:24:23.88Node.js の勉強ついでに解いてみた。
var puts = console.log.bind(console);
var so = process.stdout, si = process.stdin;
so.setEncoding('utf8');
si.setEncoding('utf8');
si.pause();
so.write('number ? ');
so.on('drain', function(){ si.resume(); });
si.on('data', function(chunk){
chunk.trim().split('\n').forEach(function(line){
var n = parseInt(line);
if(isNaN(n)){ puts('[' + line + '] is not a number'); return; }
// puts('number = ' + n);
var p = Math.floor(Math.log(n) / Math.log(3)) + 1;
var x = Math.pow(3, p - 1);
var m = n, sa = '', sb = '';
for(var i = 1; i <= p; i++){
// puts('p = ' + p + ', x = ' + x + ', n = ' + n + ', m = ' + m);
sa += Math.floor(n / x);
n -= Math.floor(n / x) * x;
x /= 3;
sb += m - Math.floor(m / 3) * 3;
m = Math.floor(m / 3);
}
puts((sa == '' ? '0' : sa) + ' ' + (sb == '' ? '0' : sb) + ' 一致' + (sa == sb ? 'する' : 'しない'));
});
if(so.write('number ? ') == false) si.pause();
});
si.on('end', function(){ puts('bye.'); });
■ このスレッドは過去ログ倉庫に格納されています