Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
<?php
///////////////////////////////////////////////////////////////////////////////////////
function convert_ko($s) {
$a = explode(" ", trim($s));
if (++$a[5] > 42) {
$a[5] = 0;
if (++$a[4] > 23) {
$a[4] = 0;
if (++$a[3] > 16) {
$a[3] = 0;
if (++$a[2] > 15) {
$a[2] = 0;
if (++$a[1] > 8) {
$a[1] = 0;
if (++$a[0] > 4) {
$a[0] = 0;
echo("overflow at : $s
\n");
}
}
}
}
}
}
return implode(" ", $a);
}
///////////////////////////////////////////////////////////////////////////////////////
$f = fopen("konkurs1.txt", "rt");
$fo = fopen("out.txt", "wt");
while (!feof($f)) {
$s = fgets($f);
fputs($fo, convert_ko($s) . "\n");
}
fclose($f);
fclose($fo);
?>var input = [
'1 3 12 22 0 11',
'2 0 0 16 23 42',
'4 8 15 16 23 42'
];
var max = [4, 8, 15, 16, 23, 42];
var output = {};
for (var i = input.length; i--;) {
var cur = input[i].split(' ');
for (var k = cur.length; k--;) {
if (cur[k] == max[k]) {
cur[k] = 0;
} else {
cur[k]++;
break;
}
}
if (k == -1) cur.unshift(1);
output[input[i]] = cur.join(' ');
}
for (var o in output) alert(o + ': ' + output[o]);
Ровно через неделю после старта конкурса объявляются результаты (список участников, приславших правильное решение) и победитель.
#!/usr/bin/python
f=open("in")
k=[4,8,15,16,23,42]
for s in f.readlines():
l = s.split(" ")
c = [0,0,0,0,0,0]
for i in range(0,6)[::-1]:
c[i]+=int(l[i])+1
if (i>0):
if (c[i]>k[i]): c[i-1]=1
else: c[i-1]=0
c[i]=str(c[i])
p=" ".join©
print p
for i in range(0,6)[::-1]:
Что за жесть? o_O… for i in range(5,-1,-1):
if (c[i]>k[i]): c[i-1]=1
else: c[i-1]=0
Боже, это же Питон, а не C/C++. Вот жеc[i-1] = 1 if c[i] > k[i] else 0
На крайний случай так: c[i-1] = int(c[i] > k[i])
c[i]=str(c[i])
p=" ".join©
print p
Зачем?print " ".join(map(str,c))
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
const int max_val[] = { 4, 8, 15, 16, 23, 42 };
const int digit_count = sizeof(max_val) / sizeof(max_val[0]);
ifstream inf("konkurs1.txt");
ofstream outf("out.txt");
int number[digit_count];
while(inf.good())
{
for(int i = 0; i < digit_count; i++)
{
inf >> number[i];
}
number[digit_count - 1]++;
for(int i = digit_count - 1; i >= 0; i--)
{
if(number[i] > max_val[i])
{
number[i - 1]++;
number[i] = 0;
}
}
for(int i = 0; i < digit_count; i++)
{
outf << number[i];
if(i != digit_count - 1)
{
outf << " ";
}
}
outf << endl;
}
}“0 0 0 0 1 0” соответствует числу “43″ в десятичной системе
Приз победителя – 10 000 рублей
Задачка на 10 000 руб