강인한 태국 달력 코더들은 2560이

에서 타이어 캘린더 2560 태국 달력에 해를 2017 대응을 항상 543년 앞서 그레고리력이다.

관찰자 코더들은 2560이 10과 같다는 것을 주목할 것입니다 2^9 * 5. 이것은 896 년 동안 다시는 일어나지 않을 것입니다! 정확히 10 개의 주요 요소가 있다면 1 년을 끈기있게 부릅니다 .

시스템 시계를 기준으로 태국 달력을 사용하여 현재 연도가 끈질긴 경우 참 값을 출력하고 그렇지 않으면 거짓 값을 출력하는 프로그램을 작성하십시오.

테스트 사례 :

  • 2017 년에 프로그램이 실행되면 true
  • 프로그램이 2018 년에서 2912 년 사이에 실행 된 경우, false
  • 2913 동안 프로그램이 실행되면 true(2913 + 543 = 2^7 * 3^3)


답변

Bash + coreutils, 35 바이트

factor $[`date +%Y`+543]|awk NF==11

출력은 비어 있지 않은 문자열 (truthy)이거나 빈 문자열 (false)입니다.

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

대체 버전 : 37 바이트

date -d 543year +%Y|factor|awk NF==11

골프는 아니지만 나는 이것을 좋아합니다.

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

작동 원리

산술 확장 $[날짜 + % Y 는 현재 (전체) 연도를 얻기 위해 +543]실행 date +%Y되며 연도에 543 을 추가합니다 .

인수는 합을 인수로 취하여 소인수 분해를 인쇄합니다. 먼저 인수 분해 할 숫자와 개별 소인수 목록입니다.

마지막으로 awk는 입력을 필터링하여 정확히 11 개의 필드 (숫자에 10 개의 주요 요소)가있는 행만 인쇄합니다.


답변

05AB1E , 10 바이트

žg543+ÒgTQ

온라인으로 사용해보십시오!
또는 테스트 스위트

설명

      Òg     # the number of primefactors with duplicates of
žg           # the current year
  543+       # plus 543
        TQ   # equals 10

답변

CJam , 13 바이트

et0=543+mf,A=

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

설명

et0=  e# Get current year.
543+  e# Add 543.
mf    e# Get prime factors with multiplicity.
,     e# Get length.
A=    e# Equals 10?

답변

Mathematica, 37 31 바이트

lanlock4 로 인해 5 바이트가 저장되었습니다 .

PrimeOmega[#&@@Date[]+543]==10&

익명의 기능. 입력 및 리턴 True또는 False출력을 취하지 않습니다 .


답변

Pyth, 11 바이트

qlP+543.d3T

온라인 통역사가 제공됩니다.

설명

       .d3   get current year
   +543      add 543
  P          get prime factors of result
 l           count number of prime factors
q         T  check if equal to 10 (result is implicitly printed)

답변

apt , 18 14 13 바이트

543+Ki¹k l ¥A

ETH 프로덕션 덕분에 4 바이트가 절약되었습니다. obarakon 덕분에 1 바이트를 절약했습니다.

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


답변

파이썬 2 , 92 89 바이트

Jonathan Allan 덕분에 -3 바이트

import time
y=time.gmtime()[0]+543
c=i=1
exec"i+=1\nwhile 1>y%i:y/=i;c-=1\n"*y
print-9==c

온라인으로 사용해보십시오!
연도까지 반복하여 주요 요소를 추출 (및 발신)합니다.
exec 행은 다음과 같습니다.

for i in range(2,y):
 while not(y%i):
  y=y/i
  c=c-1