MATLAB-89 바이트
a=@()hour(now);disp('Legen... wait for it...');while(mod(a()+1,24)~=a())end;disp('dary!')
꽤 자명하다. 먼저, 시스템 시계의 현재 시간을 잡는 함수 핸들을 만듭니다. 그런 다음, 표시 Legen... wait for it...
캐리지 리턴으로, 그리고 우리는에 가서 while
우리가 1 추가 현재 시간이 있는지 계속 확인 루프 없는 현재의 시간과 동일. 그렇다면 계속 반복하십시오. 다음 시간이 발생하는 순간까지만 표시 dary!
하고 캐리지 리턴이 발생합니다.
MATLAB의 시간은 24 시간 인덱싱을 기준으로하므로 mod
오후 24시 작업은 오후 11시 (23:00)에서 자정 (00:00)까지의 유출을 처리해야합니다.
미성년자
이 hour
기능에는 재무 시계열 도구 상자가 필요합니다. 이 now
기능에는이 제한이 적용되지 않지만 현재 날짜와 시간을 일련 번호로 검색하여 현재 시간 hour
을 계산하는 데 사용합니다.
옥타브에서 이것을 실행하고 싶습니까?
확실한! Octave에는이 도구 상자가 없기 때문에 hour
함수 를 수정 datevec
하여 연, 월, 일,시, 분 및 초 각각에 하나씩 6 개의 요소로 구성된 벡터를 반환하도록 호출 하면됩니다. 출력의 네 번째 요소를 추출해야합니다.
a=@()datevec(now)(4);disp('Legen... wait for it...');while(mod(a()+1,24)~=a())end;disp('dary!')
추가 문자는 솔루션을 최대 98 바이트까지 만들지 만 옥타브에서이를 실행할 수 있습니다. 함수 핸들에 임시 변수가없는 인플레 이스 인덱싱에 유의하십시오.
Financial Time Series Toolbox가 없습니까?
Financial Time Series Toolbox 없이 MATLAB에서 이것을 실행하려면 임시 변수없이 변수에 즉시 색인을 생성 할 수 없으므로 작성하는 데 약간 더 많은 바이트가 필요합니다.
disp('Legen... wait for it...');h=datevec(now);ans=h;while(mod(h(4)+1,24)~=ans(4)),datevec(now);end;disp('dary!');
먼저 현재 시간과 날짜를 가져 와서 변수에 저장하고이를 h
라는 자동 변수에 저장합니다 ans
. 이후, 우리는 계속 반복하고 현재 시간이 다음 시간과 다른지 확인합니다. 반복 할 때마다 현재 시간과 날짜로 자동 변수를 계속 업데이트합니다. 다음 시간이 현재 시간 및 날짜와 일치하면 문자열의 마지막 부분이 표시되고 종료됩니다. 바이트 수를 114로 푸시합니다.
또한 온라인으로 시도 할 수 없습니다. 옥타브 인터프리터 온라인은 코드가 실행될 때 시간 제한이 있으며 while
, 다음 시간이 발생할 때까지 기다리는 루프 이기 때문에 코드가 실행될 때 까지 시간이 초과됩니다. 가장 좋은 방법은 자신의 컴퓨터에서 실행하고 작동하는지 확인하는 것입니다.