이 페이지는 코딩도장 데이터의 읽기 전용 정적 보관본입니다.

4 pi challenge

4개의 pi(= 3.141592....)만을 이용해 임의의 자연수를 표현해봅시다.

4개의 pi와 입력으로 넣어준 수 이외에는 어떤 수도 사용하시면 안됩니다. 전에 4 네개로 257이런거 만들기랑 비슷합니다.

예를 들어 입력으로 1을 받으면 print(pi/pi * pi/pi) 등과 같이 표현해야 합니다.

다만, 어떤 자연수 입력을 받던 간에 그 자연수를 표현할 수 있어야 합니다

문제 원문입니다 - Here's the four pi's challenge: write an equation using pi exactly four times to equal 0, 1, 2, ... and any integer.

아래 유튜브 영상에 답이 있긴 합니다만 한번 안보고 해보는거도 괜찮을거같습니다.

원래는 pi 4개만 써야 하는데 그러면 코딩으로는 안될거같아서 입력으로 받은 자연수 하나까지 사용하실 수 있습니다.

힌트는 로그, 삼각함수, 루트를 사용합니다.

//보고하면 난이도 2, 안보고하면 4 - 5 예상

https://www.youtube.com/watch?v=tXunUuvx6_c

2021/02/05 14:48

김민수

와,재미있는 문제입니다. - 고태욱, 2021/02/28 17:42
수학을 사용해야 하네요.:) - 고태욱, 2021/02/28 17:42

5개의 풀이가 있습니다.

import math
from math import pi

def roots(num):
    temp = pi
    for i in range(0 , num):
        temp = math.sqrt(temp)
    return temp

n = 9
print(round(-math.log(math.log(roots(n),pi), -(math.cos(pi)+math.cos(pi)))))

2021/02/05 14:49

김민수

Here's the four pi's challenge: write an equation using pi exactly four times to equal 0, 1, 2, ... and any integer.

2021/02/10 09:57

이은참

//자바

import java.util.Scanner;

public class NumEx1 {

public static void main(String [] args ) {
    String sum="";
    System.out.println("숫자를 입력하시오:");
    Scanner scan= new Scanner(System.in);
    int i=0;
 String scanInt = scan.next();
char scanArray[]=scanInt.toCharArray();

String temp=Double.toString(3.1415926535897); char[] pi= temp.toCharArray();

for(i=0;i<scanArray.length;i++) {

   for(int j=0;j<temp.length();j++) {
       if(scanArray[i]==pi[j]) {
           System.out.print("pi"+"["+j+"]"+"+");
           sum=sum+(pi[j]);

       break;

}//if

}//for


scan.close();
}//while
System.out.print("="+sum);

}//main }//class

2021/04/09 17:26

이동훈

import math
u=int(input(""))
print(math.pi/math.pi*u)

파이썬인데 아마 제가 문제를 잘못 이해했을 거에요

2023/03/09 20:55

조랭이떡

import math

a = math.pi

print(' {0} + {0} - {0} - {0} = {1}'.format('π', a + a - a - a))
print(' {0}/{0} - {0}/{0} = {1}'.format('π', a//a - a//a))
print(' {0}/{0} - {0} + {0} = {1}'.format('π', a//a - a + a))
print(' {0}/{0} X {0}/{0} = {1}'.format('π', a//a * a//a))
print(' {0}/{0} + {0}/{0} = {1}'.format('π', a//a + a//a))
print(' ({0} +{0}) / {0} + Sin{0} = {1}'.format('π', (a+a)/a + math.sin(a)))
print(' ({0} + {0} + {0})/{0} = {1}'.format('π', (a + a + a)//a))
print(' Log({0})({0}X{0}X{0}) = {1}'.format('π', math.log(a*a*a, a)))
print(' (Cos{0} + Cos{0})^^(-Cos{0}=Cos{0}) = {1}'.format('π', (math.cos(a) + math.cos(a))**(-math.cos(a) - math.cos(a))))
print(' -Cos{0} -Cos{0} -Cos{0} -Cos{0} = {1}'.format('π', -math.cos(a)-math.cos(a)-math.cos(a)-math.cos(a)))

2023/07/04 23:41

insperChoi

목록으로