r245 vs r246
......
15331533
}}}
15341534
ab의 나머지 17자리를 앞으로 당긴 다음 "0"을 더합니다.
15351535
{{{#!if ab=ab.substr(1,17)+"0"
1536
}}}
1536
}}}}}}
15371537
##i=1 part 1
15381538
(변수 tn으로 만들 수 있는 여분의 1자리 +) 18자리 + 18자리 숫자를 18자리+18자리 숫자로 나누는 계산을 합니다. tn이 9가 될 경우 9로 시작하는 19자리 숫자를 long integer로 모두 표현할 수 없으므로 10**18 자리부터 먼저 계산합니다. 10**18의 1번째 숫자의 몫을 구한 다음 나머지를 18자리 숫자에 더하는 과정(part 1)을 거친 다음 그 18자리에서 몫을 구하는 과정(part 2)을 거칩니다.
15391539
......
15521552
}}}{{{#!if ty=ty.toString(), ty.length==19
15531553
{{{#!if tx+=+(ty.substr(0,1)), ty=ty.substr(1,18), ty=+ty
15541554
}}}}}}}}}
1555
나머지를 반영합니다. 나눈 만큼 빼는데 처리해야할 소수점 아래 부분인 ab보다 ty가 크다면 tn에서 니다.
1556
{{{#!if ty>0
1557
{{{#!if
1555
나머지를 반영합니다. 나눈 만큼 빼는데 처리해야할 소수점 아래 부분인 ab보다 ty가 크다면 tn에서 1을 빼어 계산합니다.
1556
{{{#!if ty>ab
1557
{{{#!if tn-=1, ab+=+("1"+pd)
15581558
}}}}}}
1559
{{{#!if au+=(tn-tx), ab-=ty
15591560
}}}
1561
tn을 빈 문자열로 초기화합니다.
1562
{{{#!if tn=""
1563
}}}
1564
}}}
15601565
##i=1 part 2
1561
}}}
15621566
15631567
1568
15641569
##rs 매기기
15651570
15661571
##ru 매기기
......