- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
Вот прога на C#:
using System;
namespace SomeNamespace
{
class SomeProgram
{
public static void Main(string[] args)
{
ulong input = ulong.Parse(Console.ReadLine());
int counter = 0;
Console.Write(input + " ");
while(input != 3)
{
switch(input % 3)
{
case 0:
input /= 3;
Console.Write("/ 3 = " + input + " ");
counter++;
break;
case 1:
input--;
Console.Write("- 1 = " + input + " ");
counter++;
break;
case 2:
input++;
Console.Write("+ 1 = " + input + " ");
counter++;
break;
}
}
Console.WriteLine("\n3 reached. Number of moves: " + counter);
}
}
}
А вот на питонии:
inpt = int(input())
counter = 0
print(str(inpt),end=' ')
while not (inpt==3):
if not(inpt%3==0):
if inpt % 3 == 1:
inpt -= 1
print("- 1 = "+str(inpt),end=' ')
counter += 1
else:
inpt += 1
print("+ 1 = "+str(inpt),end=' ')
counter += 1
else:
inpt //= 3
print("/ 3 = "+str(inpt),end=' ')
counter += 1
else:
print("\n3 reached. Number of moves: "+str(counter),end='',flush=True)
Her 31.08.2018 19:35 # −1
в C# на любой версии дотнета результат одини тот-же
shite 31.08.2018 19:39 # −2
shite 31.08.2018 19:43 # −2
yet_another_one_shit 31.08.2018 20:27 # −2
> not (inpt==3):
Скопке нинужны, и ещё в Питонии есть оптератор !=
используй elif:
guest8 31.08.2018 20:53 # −999
Elvenfighter 31.08.2018 20:29 # −2
В контексте. Всегда в контексте.
guest8 31.08.2018 20:38 # −999
shite 31.08.2018 20:42 # −2
shite 31.08.2018 20:43 # −2
guest8 31.08.2018 20:45 # −999
yet_another_one_shit 31.08.2018 21:07 # −1
yet_another_one_shit 31.08.2018 20:56 # −2
roman-kashitsyn 31.08.2018 22:52 # −1
CHayT 31.08.2018 23:08 # −2
guest8 31.08.2018 23:17 # −999
guest8 01.09.2018 12:26 # −999
CHayT 01.09.2018 13:50 # 0
CHayT 01.09.2018 20:15 # 0
https://gist.github.com/k32/f2999ee884b5c7d08dfff2f594ccb3c3
Короче дальше там всё просто, доказываем что go сходится к 3 за n шагов, далее используем этот факт для определения уже функции go, используя n как хинт для терминэйшн-чекера.
kir_rik 01.09.2018 21:56 # 0
roman-kashitsyn 01.09.2018 13:20 # +1
CHayT 01.09.2018 15:08 # 0
1) Смесь IO и чистых вычислений
2) По сути это очень медленный интерпретатор
roman-kashitsyn 01.09.2018 15:45 # 0
2) видишь BangPatterns? Все оптимизировано
yet_another_one_shit 01.09.2018 16:32 # +1
roman-kashitsyn 01.09.2018 17:01 # 0
Join за O(n^2)?
yet_another_one_shit 01.09.2018 17:46 # 0
ASMOZDOT 05.09.2018 08:42 # 0
vistefan 05.09.2018 10:30 # 0
roman-kashitsyn 05.09.2018 11:41 # 0
Рекомендую [1] для просвещения.
vistefan 19.09.2018 18:05 # 0
Возник вопрос: актуальна ли эта проблема и решение для Scala?
roman-kashitsyn 19.09.2018 18:41 # 0
Строки в скалке обычые, упакованные, их надо по-другому склеивать (буфером или аналогом DList).
По поводу йонед и коденсити точно сказать не могу — не знаю, как это в скалке выглядит и используется (лень смотреть в scalaz).
guest8 31.08.2018 23:26 # −999
guest8 31.08.2018 23:47 # −999
kir_rik 01.09.2018 01:32 # −1
yet_another_one_shit 01.09.2018 09:18 # +1
CHayT 01.09.2018 14:16 # +1
bormand 01.09.2018 14:29 # 0
CHayT 01.09.2018 15:02 # 0
yet_another_one_shit 01.09.2018 15:15 # +1
guest8 01.09.2018 14:49 # −999
guest8 01.09.2018 14:54 # −999
yet_another_one_shit 01.09.2018 15:11 # 0
guest8 01.09.2018 15:32 # −999
shite 01.09.2018 12:18 # 0
guest8 01.09.2018 12:28 # −999
roman-kashitsyn 01.09.2018 13:16 # 0
просто не вводите отрицательные числа, это неуважение к разработчику
yet_another_one_shit 01.09.2018 14:11 # 0