본문바로가기
자유게시판
수학을 주제로 떠들어 보세요!
[잡담] 문제가 뭘까요(C언어)
2020.03.06 21:48 조회 471
//네자리수의 반복 abcdabcd 여덟자리수가 어떤 수로 나누어떨어질때, abcdabcd
#include 
int main()
{
    unsigned int a, b, c, d;

    for (a = 1; a < 9; a++) {
        for (b = 0; b < 9; b++) {
            for (c = 0; c < 9; c++) {
                for (d = 0; d < 9; d++) {
                    if ((10001000*a+1000100*b+100010*c+10001*d)% 22879 == 0 ) {
                        printf("%d\n", 10001000*a+1000100*b+100010*c+10001*d);
                    }
                }
            }
        }
    }

    return 0;
}

 

abcdabcd꼴의 8자리 수중 22879로 나누어떨어지는 수를 찾는 문제(함풀문 풀려고 만듦)를 풀려고 만든 코드인데

저 코드를 실행시켜보면 88518851까지 출력되는데, 90189018도 22879에 의해 나누어떨어집니다.

뭐가 문제일까요

  •  
    21세기오일러 Lv.11 2020.03.06 21:54

    저는 파이썬으로 밖에 ㅠㅠ

    댓글 작성하기 좋아요0 댓글수0
  •  
    지구 Lv.6 2020.03.06 21:56

    c언어 님은 회원 이름입니다.

    댓글 작성하기 좋아요0 댓글수2
    •  
      21세기오일러 Lv.11 2020.03.06 22:01

      아 그 분 멘토링도 받으셨는데

      좋아요0
    •  
      Lv.7 2020.03.06 22:05

      띠용;;

      좋아요0
  •  
    개발하는몰랑 Lv.15 2020.03.06 22:24

    기본 알고리즘만 간단히 남겨봅니다ㅎㅎ

     

    var div_num = 22879;

    for(var i=1000, limit=9999; i<=limit; i++){
        if(i*10001 % div_num == 0){
            // i * 10001 출력;
        }
    }

    댓글 작성하기 좋아요0 댓글수2
    •  
      개발하는몰랑 Lv.15 2020.03.06 22:29

      본문의 코드에서는 조건식이 9보다 작게로 되어 있네요. 작거나 같게로~

      좋아요0
    •  
      Lv.7 2020.03.07 00:29

      아..감사합니다 ㅎㅎ

      좋아요0
  • 폴리매스 문제는 과학기술진흥기금 및 복권기금의 재원으로 운영되고, 과학기술정보통신부와 한국과학창의재단의 지원을 받아 수행된 성과물로 우리나라의 과학기술 발전과 사회적 가치 증진에 기여하고 있습니다.

  • ☎문의 02-6749-3911