당신의 작업은 다음과 같이 수학 연산자를 사용하여 숫자를 변경하지 않고 양의 정수의 제곱근을 계산하는 것입니다.
- 변수 설정 (예 : squareRoot = 5)
- 추가 (A + B)
- 빼기 (AB)
- 곱셈 (A * B)
- 구분 (A / B)
- 정사각형, 큐브, 네 번째 등 뿌리
- 지수
비교 연산자 (예 : <,>, == 등)는이 질문의 목적 상 "수학적 연산자"로 간주되지 않으며 변수 값을 변경하지 않는 한 허용됩니다.
사용할 수있는 유일한 연산자는 ++입니다. 다음과 같은 예외가 있습니다.
- 원하는 경우 변수를 0으로 설정하여 변수를 초기화 할 수 있습니다.
- 언어에 ++ 구문이 포함되어 있지 않으면 foo + = 1 또는 foo = foo + 1과 같은 구문을 사용할 수 있습니다.
- 제곱근은 소수점 이하 자릿수 (1 만 자리)를 넘어 6 자리 이상으로 계산하고 소수점 이하의 정수로 출력해야합니다 (예 : 2를 입력하면 반올림에 따라 14142135624 또는 1414213으로 나올 수 있음) . 반올림 또는 내림은 중요하지 않습니다.
사용자 정의 함수는 허용되지 않습니다. 또한 goto로 기능을 시뮬레이션하는 것도 허용되지 않습니다.
모두가 제출 한 내용을보고 싶습니다. 행복한 코딩!
설명
숫자가 양의 정수임을 명확히하십시오. 숫자에 관계없이 코드를 만들 수는 있지만 꼭 필요한 것은 아닙니다.
설명 # 2
비교 연산자가 허용됨을 명확히하십시오.
설명 # 3
추가는, 뺄셈은 곱셈, 변경 번호로 구분하고, 기능은 허용되지 않습니다 전혀 관계없이 변수 여부에 저장되어 있는지 여부. 죄송합니다. 기존 답변이 무효화되어 죄송하지만 트롤 답변을 방지하기 위해이 연산자 그룹을 "숫자 변경"으로 정의했습니다 (예 : 방금 sqrt () 함수를 사용했습니다. 곱하기, 나누기 및 빼기). 혼란을 드려 죄송합니다.
설명 # 4
최소 5 자리 숫자가 필요하다는 것을 분명히하십시오. 10 자리 숫자로 인해 코드가 오랫동안 실행되었습니다.
while r*r<n*10e20:r+=1
매우 사소한 -. 또한 필요한 출력을 10 ^ 8 정도로 줄이는 것을 고려할 수 있습니다. 첫째, 10 ^ 10은 2 ^ 31보다 크기 때문에 두 번째는 그 값을 높이는 데 시간이 걸리기 때문입니다.