이집트 분수


20

개요 :

에서 위키 백과 : 이집트 부분은 별개의 단위 분수의 합이다. 즉, 식의 각 분수는 1과 같은 분자와 양의 정수인 분모를 가지며 모든 분모가 서로 다릅니다. 이 유형의 표현식 값은 양의 유리수 a / b입니다. 모든 양의 유리수는 이집트 분수로 나타낼 수 있습니다.

도전:

주어진 분수에 더해지는 가장 작은 단위 분수 집합 에 대한 모든 분모 값을 반환하는 가장 짧은 함수를 작성하십시오 .

규칙 / 제약 :

  • 입력은 양의 정수 값입니다.
    • 이에있을 수 있습니다 STDIN, argv, 쉼표로 구분, 공간을 구분, 또는 다른 방법은 당신이 선호합니다.
  • 첫 번째 입력 값은 분자이고 두 번째 입력 값은 분모입니다.
  • 첫 번째 입력 값은 두 번째 입력 값보다 작아야합니다.
  • 출력에는 시스템 / 언어의 메모리 제한 (RAM, MAX_INT 또는 기타 코드 / 시스템 제약 조건)을 초과하는 값이 포함될 수 있습니다. 이 경우 가능한 가장 높은 값으로 결과를 자르고 어떻게 든 (즉 ...) 참고하십시오 .
  • 출력은 최소 2,147,483,647 (2 31 -1, 부호있는 32 비트 int) 까지 분모 값을 처리 할 수 ​​있어야합니다 .
    • 더 높은 값 ( long등)이 완벽하게 허용됩니다.
  • 결과는 발견 된 가장 작은 단위 분수 집합 (또는 분수 자체 1/2) 의 모든 분모 값을 나열한 것이어야합니다 .
  • 출력은 분모 값에 따라 오름차순으로 정렬되어야합니다 (분수 값으로 내림차순).
  • 원하는 방식으로 출력을 구분할 수 있지만 한 값을 다음 값과 구별하려면 문자가 있어야합니다.
  • 이것은 코드 골프이므로 가장 짧은 솔루션이 승리합니다.

변신 :

  • 입력 1 :

    43, 48

  • 출력 1 :

    2, 3, 16

  • 입력 2 :

    8/11

  • 출력 2 :

    1/2 1/6 1/22 1/66

  • 입력 3 :

    5 121

  • 출력 3 :

    33 121 363


입력 / 출력 2는해야 8, 11하고 2, 6, 22, 66바로?
mellamokb 2016 년

2
모호성을 제거하기위한 가능한 제안은 가장 작은 최종 분모를 가진 가장 작은 단위 분수 집합을 요구하는 것입니다. 예를 들어, 1/2 1/6 1/22 1/66바람직한 것이 1/2 1/5 1/37 1/4070입력 용 8/11.
primo

2
5/121 = 1/33+1/121+1/363테스트 사례에 추가 하는 것이 좋습니다 . 모든 욕심 많은 프로그램 (나를 포함하여)에는 5 개의 분수가 있습니다. Wikipedia 에서 가져온 예 .
우고 렌

1
@primo 나는 최소값이 여러 개인 경우 발견 할 수있는 것이 허용 될 것이라고 생각합니다. 더 적은 문자로 하나의 알고리즘을 작성할 수 있다면 해당 솔루션을 방해하고 싶지 않습니다.
Gaffi

1
내가 History of Math 코스에서 이집트 분수에 대해 실제로 배웠기 때문에 +1했습니다. (이 문제와 같은 분수 합계를 찾는 것과 함께 수학을 사용해야했습니다.) 훌륭하고 창의적인 도전.
mbomb007

답변:


6

일반 리스프, 137 자

(defun z(n)(labels((i(n s r)(cond((= n 0)r)((< n(/ 1 s))(i n(ceiling(/ 1 n))r))(t(i(- n(/ 1 s))(1+ s)(cons s r))))))(reverse(i n 2'()))))

(z 43/48)-> (2 3 16)

(z 8/11)-> (2 5 37 4070)

(z 5/121)-> (25757 763309 873960180913 1527612795642093418846225)

큰 숫자 나 분수 표기법에 대해 걱정할 필요가 없습니다!


(데펀 z (n) (라벨 ((i (nsr) (cond ((= n 0) r) ((<n (/ 1 s)) (in (ceiling (/ 1 n)) r))) (t ( i (-n (/ 1 s)) (1+ s) (cons sr)))))) (reverse (in 2 '())))) (z 43/48) 결과를 표시하지 않습니다. 결과를 인쇄하기 위해 사용해야하는 것은 무엇입니까?
RosLuP

1
(print (z 103/333))은 5 개의 숫자로 구성된 하나의 목록을 반환하지만 1 / 4,1 / 18,1 / 333,1 / 1332와 같이 4 개의 숫자로 구성된 하나의 목록이 존재합니다. 따라서 위 함수는 최소값을 반환하지 않습니다.
RosLuP

8

Python 2, 169167

x,y=input()
def R(n,a,b):
 if n<2:return[b/a][b%a:]
 for m in range((b+a-1)/a,b*n/a):
  L=R(n-1,a*m-b,m*b)
  if L:return[m]+L
n=L=0
while not L:n+=1;L=R(n,x,y)
print L

stdin에서 쉼표로 구분 된 인수를 가져오고 stdout에 파이썬 목록을 인쇄합니다.

$ echo 8,11 | ./egypt.py 
[2, 5, 37, 4070]

2
1. 두 번째 들여 쓰기 수준에서 탭을 사용하여 두 문자를 저장할 수 있다고 생각합니다. 2. 스크립트는 시스템 메모리 제한을 초과하여 잘림을 나타내지 않습니다.
breadbox

Tio에서 코드가 103/45533에 대한 메모리 부족
RosLuP

대신 Ideone에서 코드는 동일한 입력 103,45533에 대해 런타임 오류가 발생합니다. 런타임 오류 #stdin #stdout #stderr 0.89s 99264KB
RosLuP

4

PHP 82 바이트

<?for(fscanf(STDIN,"%d%d",$a,$b);$a;)++$i<$b/$a||printf("$i ",$a=$a*$i-$b,$b*=$i);

이것은 더 짧아 질 수 있지만 현재 분율을 유지하는 대신 부동 소수점 반올림 오류를 피하기 위해 현재 분자와 분모를 정수로 유지해야합니다.

샘플 사용법 :

$ echo 43 48 | php egyptian-fraction.php
2 3 16
$ echo 8 11 | php egyptian-fraction.php
2 5 37 4070

쉼표 연산자가 printf에 쓸모없는 인수로 에뮬레이트 되었습니까? 이 트릭을 어딘가에 저장해야합니다.
Konrad Borowski 2016

1
나는 이것이 Greedy Algorithm이라고 확신 하므로 항상 가장 작은 분수 세트를 제공하지는 않습니다. 5 121or 와 같은 입력으로 실행하면 31 311(오래 오랜 시간이 지난 후) 잘못된 답변을 제공합니다.
grc

@grc 31/311-> {a [1]-> 11, a [2]-> 115, a [3]-> 13570, a [4]-> 46422970}
belisarius 박사

4

C, 163 개 (177) 문자

6/6 : 이제 프로그램은 모든 경우에 잘림을 올바르게 처리합니다. 내가 기대했던 것보다 훨씬 많은 문자가 필요했지만 그만한 가치가있었습니다. 이 프로그램은 현재 문제 요구 사항을 100 % 준수해야합니다.

d[99],c,z;
r(p,q,n,i){for(c=n+q%p<2,i=q/p;c?d[c++]=i,0:++i<n*q/p;)q>~0U/2/i?c=2:r(i*p-q,i*q,n-1);}
main(a,b){for(scanf("%d%d",&a,&b);!c;r(a,b,++z));while(--c)printf("%d\n",d[c]);}

프로그램은 표준 입력에서 분자와 분모를 취합니다. 분모는 한 줄에 하나씩 표준 출력으로 인쇄됩니다. 잘린 출력은 목록 끝에 0 분모를 인쇄하여 표시됩니다.

$ ./a.out
2020 2064
2
3
7
402
242004

$ ./a.out
6745 7604
2
3
19
937
1007747
0

두 번째 예의 분모는 95485142815/107645519046으로 합쳐지며 6745 / 7604와 대략 1e-14가 다릅니다.


다시 말하지만 이것이 욕심 많은 알고리즘이라고 생각합니다.
grc

가장 바깥 쪽 루프는 N + 1 분모의 답을 테스트하기 전에 N 분모의 모든 가능한 답을 탐색합니다. 나는 그것을 욕심이라고 부를 수 있다고 생각하지만, 나는 그것이 명시된 문제를 충족한다고 생각합니다.
breadbox

죄송합니다. 다시 가져갑니다. 욕심 많은 해결책을 따르지 않지만 일부 입력 ( 31 311예 :)에 대해 완전히 정확하지는 않습니다 .
grc

31 311오버 플로우되지만 프로그램이 플래그를 지정하지 못합니다.
breadbox

3

파이썬, 61 자

STDIN에서 입력, 쉼표로 구분.
줄 바꿈으로 구분하여 STDOUT으로 출력합니다.
항상 가장 짧은 표현을 반환하지는 않습니다 (예 : 5/121).

a,b=input()
while a:
    i=(b+a-1)/a
    print"1/%d"%i
    a,b=a*i-b,i*b

불필요한 줄 바꿈없이 문자 수를 계산합니다 (예 : whileusing 내의 모든 줄을 결합 ;).
분수는 a/b입니다.
i되어 b/a내가 알 수 있도록, 반올림 1/i <= a/b.
인쇄 후 1/i, 나는 대체 a/ba/b - 1/i(a*i-b)/(i*b).


그 이후이 최대 투표 할 것입니다 이렇게 작은, 그러나 그것은 단지 한 조각 실종!
Gaffi

2
이 한 조각을 고치고 싶지만 그렇게 작지는 않을 것입니다 ... Keith Randall의 솔루션을 재발 명 할 느낌이 있습니다.
ugoren

2

C, 94 바이트

n,d,i;main(){scanf("%i%i",&n,&d);for(i=1;n>0&++i>0;){if(n*i>=d)printf("%i ",i),n=n*i-d,d*=i;}}

온라인으로 사용해보십시오

편집 : 코드의 짧은 버전이 주석에 게시되어 있으므로 교체했습니다. 감사!


2
안녕하세요, 사이트에 오신 것을 환영합니다! 이것은 코드-골프 경쟁이므로 코드를 최대한 짧게 만드는 것이 목표입니다 . 코드를 더 짧게 만들기 위해 할 수있는 일이 많이있는 것 같습니다. 예를 들어 답변에서 불필요한 공백을 모두 제거 할 수 있습니다.
DJMcMayhem

@DJMcMayhem 감사합니다. 이해하고 해주셨습니다.
う ち わ 密 か

안녕하세요, PPCG에 오신 것을 환영합니다! 도전 과제의 테스트 사례에 대한 테스트 코드가 있는 TryItOnline-link 를 추가 할 수 있습니까? 또한, 몇 가지 당신은 골프 수 : for(i=2;n>0&&i>0;i++)할 수있다 for(i=1;n>0&++i>0;); for-loop의 브래킷은 if내부 만 가지고 있기 때문에 제거 할 수 있습니다 . d=d*i;될 수 있습니다 d*=i;; 그리고 나는 확실하지 않지만 #include <stdio.h>공백이 없을 수 있다고 생각 합니다 #include<stdio.h>. 아, 그리고 흥미로울 수도 있습니다 . C 에서 골프를하기위한 팁
Kevin Cruijssen

@KevinCruijssen 팁 주셔서 감사합니다.
う ち わ 密 か



0

AXIOM, 753 바이트

L==>List FRAC INT
macro  M(q)==if c<m or(c=m and m<999 and reduce(max,map(denom,q))<xv)then(m:=c;a:=q;xv:=reduce(max,map(denom,a)))
f(x,n)==(y:=x;a:L:=[];c:=0;q:=denom x;q:=q^4;for i in n.. repeat((c:=c+1)>50=>(a:=[];break);1/i>y=>1;member?(1/i,a)=>1;a:=concat(a,1/i);(y:=y-1/i)=0=>break;numer(y)=1 and ~member?(y,a)=>(a:=concat(a,y);break);(i:=floor(1/y))>q=>(a:=[];break));a)
h(x:FRAC INT):L==(a:L:=[];x>1=>a;numer(x)=1=>[x];n:=max(2,floor(1/x));xv:=m:=999;d:=denom x;zd:=divisors d;z:=copy zd;for i in 2..30 repeat z:=concat(z,i*zd);d:=min(10*d,n+9*m);for i in n..d repeat((c:=maxIndex(b:=f(x,i)))=0=>1;c>m+1=>1;M(b);v:=reduce(+,delete(b,1));for j in z repeat((c:=1+maxIndex(q:=f(v,j)))=1=>1;member?(b.1,q)=>1;q:=concat(b.1,q);M(q)));reverse(sort a))

아이디어는 초기 지점이 다른 "Greedy Algorithm"을 적용하고 최소 길이의 목록을 저장합니다. 그러나 항상 덜 정의 된 최소 해를 찾는 것은 아니다 : "A는 B의 원소가 적거나 A의 원소의 수가 B의 원소의 수와 같은 경우에만 배열 A가 어레이 B보다 작을 것이다 A보다 작은 요소가 B보다 작은 요소보다 숫자보다 클 경우 A보다 B보다 작습니다. 언 골프 및 테스트

-- this would be the "Greedy Algorithm"
fracR(x,n)==
   y:=x;a:L:=[];c:=0;q:=denom x;q:=q^4
   for i in n.. repeat
      (c:=c+1)>50   =>(a:=[];break)
      1/i>y         =>1
      member?(1/i,a)=>1
      a:=concat(a,1/i)
      (y:=y-1/i)=0  =>break
      numer(y)=1 and ~member?(y,a)=>(a:=concat(a,y);break)
      (i:=floor(1/y))>q           =>(a:=[];break)
   a

-- Return one List a=[1/x1,...,1/xn] with xn PI and x=r/s=reduce(+,a) or return [] for fail
Frazione2SommaReciproci(x:FRAC INT):L==
    a:L:=[]
    x>1       =>a
    numer(x)=1=>[x]
    n:=max(2,floor(1/x));xv:=m:=999;d:=denom x;zd:=divisors d;z:=copy zd
    for i in 2..30 repeat z:=concat(z,i*zd)
    d:=min(10*d,n+9*m) 
    for i in n..d repeat
        (c:=maxIndex(b:=fracR(x,i)))=0=>1 
        c>m+1                         =>1
        M(b)
        v:=reduce(+,delete(b,1))
        for j in z repeat
              (c:=1+maxIndex(q:=fracR(v,j)))=1=>1
              member?(b.1,q)                  =>1
              q:=concat(b.1,q)
              M(q) 
    reverse(sort a)

(7) -> [[i,h(i)] for i in [1/23,2/23,43/48,8/11,5/121,2020/2064,6745/7604,77/79,732/733]]
   (7)
      1   1      2   1  1      43  1 1  1      8  1 1  1  1
   [[--,[--]], [--,[--,---]], [--,[-,-,--]], [--,[-,-,--,--]],
     23  23     23  12 276     48  2 3 16     11  2 6 22 66
      5    1  1   1      505  1 1 1  1    1
    [---,[--,---,---]], [---,[-,-,-,---,----]],
     121  33 121 363     516  2 3 7 602 1204
     6745  1 1  1  1    1      1       77  1 1 1  1  1   1
    [----,[-,-,--,---,-----,------]], [--,[-,-,-,--,---,---]],
     7604  2 3 19 950 72238 570300     79  2 3 8 79 474 632
     732  1 1 1  1   1    1     1
    [---,[-,-,-,--,----,-----,-----]]]
     733  2 3 7 45 7330 20524 26388
                                                      Type: List List Any
       Time: 0.07 (IN) + 200.50 (EV) + 0.03 (OT) + 9.28 (GC) = 209.88 sec
(8) -> h(124547787/123456789456123456)
   (8)
        1             1                         1
   [---------, ---------------, ---------------------------------,
    991247326  140441667310032  613970685539400439432280360548704
                                     1
    -------------------------------------------------------------------]
    3855153765004125533560441957890277453240310786542602992016409976384
                                              Type: List Fraction Integer
                     Time: 17.73 (EV) + 0.02 (OT) + 1.08 (GC) = 18.83 sec
(9) -> h(27538/27539)
         1 1 1  1  1    1      1        1
   (9)  [-,-,-,--,---,-----,------,----------]
         2 3 7 52 225 10332 826170 1100871525
                                              Type: List Fraction Integer
                     Time: 0.02 (IN) + 28.08 (EV) + 1.28 (GC) = 29.38 sec

http://www.maths.surrey.ac.uk/hosted-sites/R.Knott/Fractions/egyptian.html의 참조 및 번호

무언가를 추가하기 위해 아래에 최대 분모가 적고 길이에 대해 최적화되지 않은 최소 길이 분수 찾기에 최적화 된 것입니다.

L==>List FRAC INT

-- this would be the "Greedy Algorithm"
fracR(x,n)==
   y:=x;a:L:=[];c:=0;q:=denom x;q:=q^20
   for i in n.. repeat
      (c:=c+1)>1000  =>(a:=[];break)
      1/i>y          =>1
      member?(1/i,a) =>1
      a:=concat(a,1/i)
      (y:=y-1/i)=0  =>break
      numer(y)=1 and ~member?(y,a)=>(a:=concat(a,y);break)
      (i:=floor(1/y))>q           =>(a:=[];break)
   a

-- Return one List a=[1/x1,...,1/xn] with xn PI and x=r/s=reduce(+,a) or return [] for fail
Frazione2SommaReciproci(x:FRAC INT):L==
    a:L:=[]
    x>1       =>a
    numer(x)=1=>[x]
    n:=max(2,floor(1/x));xv:=m:=999;d:=denom x;zd:=divisors d;z:=copy zd; 
    w1:= if d>1.e10 then 1000 else 300; w2:= if d>1.e10 then 1000 else if d>1.e7 then 600 else if d>1.e5 then 500 else if d>1.e3 then 400 else 100;
    for i in 2..w1 repeat(mt:=(i*zd)::List PI;mv:=[yy for yy in mt|yy>=n];z:=sort(removeDuplicates(concat(z,mv)));#z>w2=>break)
    for i in z repeat
        (c:=maxIndex(b:=fracR(x,i)))=0=>1 
        c>m+1                         =>1
        if c<m or(c=m and m<999 and reduce(max,map(denom,b))<xv)then(m:=c;a:=b;xv:=reduce(max,map(denom,a)))
        v:=reduce(+,delete(b,1))
        for j in z repeat
              (c:=1+maxIndex(q:=fracR(v,j)))=1=>1
              member?(b.1,q)                  =>1
              q:=concat(b.1,q)
              if c<m or(c=m and m<999 and reduce(max,map(denom,q))<xv)then(m:=c;a:=q;xv:=reduce(max,map(denom,a)))
    reverse(sort a)

결과 :

(5) -> [[i,Frazione2SommaReciproci(i)] for i in [1/23,2/23,43/48,8/11,5/121,2020/2064,6745/7604,77/79,732/733]]
   (5)
      1   1      2   1  1      43  1 1  1      8  1 1  1  1
   [[--,[--]], [--,[--,---]], [--,[-,-,--]], [--,[-,-,--,--]],
     23  23     23  12 276     48  2 3 16     11  2 6 22 66
      5    1  1   1      505  1 1 1  1    1
    [---,[--,---,---]], [---,[-,-,-,---,----]],
     121  33 121 363     516  2 3 7 602 1204
     6745  1 1  1  1    1      1       77  1 1 1  1  1   1
    [----,[-,-,--,---,-----,------]], [--,[-,-,-,--,---,---]],
     7604  2 3 19 950 72238 570300     79  2 3 8 79 474 632
     732  1 1 1  1   1    1     1
    [---,[-,-,-,--,----,-----,-----]]]
     733  2 3 7 45 7330 20524 26388
                                                      Type: List List Any
                     Time: 0.08 (IN) + 53.45 (EV) + 3.03 (GC) = 56.57 sec
(6) -> Frazione2SommaReciproci(124547787/123456789456123456)
   (6)
        1            1               1                  1
   [---------, ------------, ----------------, -------------------,
    994074172  347757767307  2764751529594496  1142210063701888512
                      1
    -------------------------------------]
    2531144929865351036156388364636113408
                                              Type: List Fraction Integer
         Time: 0.15 (IN) + 78.30 (EV) + 0.02 (OT) + 5.28 (GC) = 83.75 sec
(7) -> Frazione2SommaReciproci(27538/27539)
         1 1 1  1   1     1       1       1
   (7)  [-,-,-,--,----,-------,-------,-------]
         2 3 7 43 1935 3717765 5204871 7105062
                                              Type: List Fraction Integer
                     Time: 0.05 (IN) + 45.43 (EV) + 2.42 (GC) = 47.90 sec

많은 좋은 분모가 입력 분수 분모의 요소 제수로 보입니다.


0

C, 85 78 바이트

@ceilingcat 개선 , 78 바이트 :

n,d;main(i){for(scanf("%i%i",&n,&d);n;n*++i/d&&printf("%i ",i,d*=i,n=n*i-d));}

온라인으로 사용해보십시오!


내 원래 답변, 85 바이트 :

n,d,i=1;main(){for(scanf("%i%i",&n,&d);n&&++i;n*i/d?printf("%i ",i),n=n*i-d,d*=i:0);}

온라인으로 사용해보십시오!

크레딧의 일부는 Jonathan Frech 에게 가야합니다. Jonathan Frech 는 내가 개선 한이 94 바이트 솔루션 을 작성 했습니다 .


0

APL (NARS), 2502 바이트

fdn←{1∧÷⍵}⋄fnm←{1∧⍵}⋄ffl←{m←⎕ct⋄⎕ct←0⋄r←⌊⍵⋄⎕ct←m⋄r}⋄divisori←{a[⍋a←{∪×/¨{0=≢⍵:⊂⍬⋄s,(⊂1⌷⍵),¨s←∇1↓⍵}π⍵}⍵]}

r←frRF w;x;y;c;q;i;j
(x i)←w⋄i-←1⋄y←x⋄r←⍬⋄c←0⋄q←fdn x⋄q←q*20
i+←1
→4×⍳∼1000<c+←1⋄→6
j←÷i⋄→2×⍳j>y⋄→2×⍳(⊂j)∊r⋄r←r,(⊂j)⋄y←y-j⋄→0×⍳y=0⋄→5×⍳1≠fnm y⋄→5×⍳(⊂y)∊r⋄r←r,⊂y⋄→0
→2×⍳∼q<i←ffl ÷y
r←⍬

r←fr2SumF x;n;xv;m;d;zd;z;i;b;c;t;v;j;k;q;w1;w2;t;b1
z←r←⍬⋄→0×⍳1≤ffl x
:if 1=fnm x⋄r←,⊂x⋄→0⋄:endif
n←2⌈ffl÷x⋄xv←m←999⋄d←fdn x⋄zd←divisori d
w1←1000⋄w2←50⋄:if d>1.e10⋄w2←700⋄:elseif d>1.e7⋄w2←600⋄:elseif d>1.e5⋄w2←500⋄:elseif d>1.e3⋄w2←400⋄:elseif d>1.e2⋄w2←100⋄:endif
:for i :in ⍳w1⋄z←∪z∪k/⍨{⍵≥n}¨k←i×zd⋄:if w2<≢z⋄:leave⋄:endif⋄:endfor
z←∪z∪zd⋄z←z[⍋z]
:for i :in z
    :if 0=c←≢b←frRF x i ⋄:continue⋄:endif
    :if      c>m+1      ⋄:continue⋄:endif
    :if      c<m        ⋄m←c⋄r←b⋄xv←⌈/fdn¨b
    :elseif (c=m)∧(m<999)
         :if xv>t←⌈/fdn¨b⋄m←c⋄r←b⋄xv←t⋄:endif
    :endif
    :if c≤2⋄:continue⋄:endif
    v←↑+/1↓b⋄b1←(⊂↑b)
    :for j :in z
       :if 1=c←1+≢q←frRF v j⋄:continue⋄:endif
       :if        b1∊q      ⋄:continue⋄:endif
       q←b1,q
       :if  c<m⋄m←c⋄r←q     ⋄xv←⌈/fdn¨q
       :elseif (c=m)∧(m<999)
           :if xv>t←⌈/fdn¨q⋄m←c⋄r←q⋄xv←t⋄:endif
       :endif
    :endfor
:endfor
→0×⍳1≥≢r⋄r←r[⍋fdn¨r]

이 문제에 대한 AXIOM 코드에서 APL 로의 전환 (처음으로 분수 유형 (큰 숫자))을 사용합니다.

103r233은 분수 103/233을 의미합니다. 테스트:

  ⎕fmt fr2SumF 1r23
┌1────┐
│ 1r23│
└~────┘
  ⎕fmt fr2SumF 2r23
┌2──────────┐
│ 1r12 1r276│
└~──────────┘
  ⎕fmt fr2SumF 43r48
┌3────────────┐
│ 1r2 1r3 1r16│
└~────────────┘
  fr2SumF 8r11
1r2 1r6 1r22 1r66 
  fr2SumF 5r121
1r33 1r121 1r363 
  fr2SumF 2020r2064
1r2 1r3 1r7 1r602 1r1204 
  fr2SumF 6745r7604
1r2 1r3 1r19 1r950 1r72238 1r570300 
  fr2SumF 77r79
1r2 1r3 1r8 1r79 1r474 1r632 
  fr2SumF 732r733
1r2 1r3 1r7 1r45 1r7330 1r20524 1r26388 
  fr2SumF 27538r27539
1r2 1r3 1r7 1r43 1r1935 1r3717765 1r5204871 1r7105062 
  fr2SumF 124547787r123456789456123456
1r994074172 1r347757767307 1r2764751529594496 1r1142210063701888512 
  1r2531144929865351036156388364636113408 
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.