abcde 5 인 낚시

1371 단어 면접 문제
"abcde 는 다섯 사람 이 물고 기 를 잡 고, 때 리 고 잠 을 잔다. a 는 먼저 깨 어 나 서 물고기 한 마 리 를 버 리 고, 나머지 는 5 점 으로 나 누 어 가 져 간다. b 는 다시 깨 어 나 도 한 마 리 를 버 리 고, 나머지 는 5 점 으로 나 누 어 가 져 간다. 그리고 cde 는 모두 위의 방법 에 따라 물고 기 를 가 져 간다. 그들 에 게 모두 몇 마리 의 물고 기 를 잡 았 는 지 물 어보 고, 프로그램 과 알고리즘 을 쓴다." ”
거꾸로 밀어 서 아주 빨리 완성 합 니 다. 그리고 지병 이 도 졌 습 니 다. 그것 이 얼마나 빠 른 지 보고 싶 습 니 다. 50000 조 를 구 할 때 까지 1 초 가까이 걸 려 서 최적화 의 필요 성 을 알 수 없습니다.
어 쩔 수 없다. 이 문 제 는 컴 파일 러 의 입맛 에 딱 맞는다. 모 4 는 & 3 에 해당 하고 4 를 제외 하면 사용 할 수 있다 > > 2 는 빨리 생각 하지 않 아 도 어렵다.
#include 
using namespace std;

int main()
{
  int e, d, c, b, a;
  for(int i = 0, f = 0; i < 500000 /*   1       */; ++i, ++f){
    for(; true; ++f){
      if(f % 4){ continue; }
      e = f / 4 * 5 + 1;

      if(e % 4){ continue; }
      d = e / 4 * 5 + 1;

      if(d % 4){ continue; }
      c = d / 4 * 5 + 1;

      if(c % 4){ continue; }
      b = c / 4 * 5 + 1;

      if(b % 4){ continue; }
      a = b / 4 * 5 + 1;

      break;
    }
  }

  cout << "a = " << a << '
'; cout << "b = " << b << '
'; cout << "c = " << c << '
'; cout << "d = " << d << '
'; cout << "e = " << e << '
'; return 0; }

좋은 웹페이지 즐겨찾기