Q&A

  • 약수 구하기 혹은 소수 구하기..??
질문만 하는 델 초보 입니다..
mod 를 이용하여서 해당되는 나머지값을 가지고
어떤 정수의 "약수를 구하거나"..
2,3,5,7,11 과같은 "소수를 구하려구" 하는데..
맘처럼 쉽게 되질 않는 군요..
여기에 관련해서 아시는 고수님들 좀 알려주세여..
핵심적인 내용만 알려주셔두 됩니당..
감사합니당..꾸벅..
3  COMMENTS
  • Profile
    최용일 2002.07.16 03:21
    안녕하세요. 최용일입니다.

    소수가 뭔지만 알면 금방 할 수 있는건데...

    1하고 자기자신으로만 나누어진거 체크하시면 될듯...

    var
        Value, ModValue, ModCount: Integer;
    begin
        for Value := 2 to 100 do
        begin
            ModCount := 0;
            for ModValue := 2 to Value do
            begin
                if (Value mod ModValue) = 0 then
                    Inc(ModCount);
                if (ModCount > 1) then
                  Break;
            end;
            if ModCount = 1 then
                ShowMessage(IntToStr(Value) + '는(은) 소수입니다.');
        end;
    end;

    ^^ 항상 즐코하세요...

  • Profile
    도리도리 2002.07.16 21:46
    네..답변 주셔서 감사합니다..그런데 제가 공부하는 입장이기에 무작정
    님께서 오려주신 내용을 보고 할수는 없지 않겠습까??!!  그래서 한번더 부탁을 드립니다.. 제가 생각했던 것두 비슷한 형태이나..  
    처음 변수값을 0으로 초기화 하고 다음에 inc()로 증가를 해서 1보다 클때
    break; 되게 하셨는데 저는 그 부분을 이해를 못하겠습니다..왜 증가를 하구..
    1 초과하면 for 문을 나오는지 설명좀 부탁합니다..
    다시 말하지만 델을 이해하려면 기초가 중요하다고 생각하기에 지금 차근차근 문제를 풀어나가고 있는 단계입니다..
    어려운 말로 설명을 하면 이해하기 힘들고 그럴땐 하기 싫기도 하지만..
    고수님들의 친절에 힘을 얻어 이렇게 공부를 하고 있답니다..
    감사합니다..꾸벅..^^*



  • Profile
    최용일 2002.07.16 23:15
    100이하의 소수를 구하니까 루프변수는 100까지가 되겠구요...

    모든 수가 1로 나누어 지니까 1은 제외하고 2부터 시작하구요...
    2부터해서 자신보다 작은 수로 나누면 되죠...

    어떤 수로 나누어질때마다 ModCount를 증가시키고, ...

    ModCount가 2가 넘는다는것은 1과 자기자신뿐만아니라 다른수로도 나누어진다는 뜻이니까 이건 소수가 아니죠... 그래서 더이상 계산할 필요없어서 break해서 다음으로 넘어가구...

    쭉~~ 나눗셈을 계속했는데 ModCount=1이다. 즉 자기자신으로만 나누어진다... 이건 소수죠...

    ^^ 항상 즐코하세요...

    • 바다를향해
      2002.07.18 12:40
      혹시 ShellExecute 말구요 i := Winexec('explorer.exe mailto:kst007@netian.com', SW_HIDE); 이걸 사용...
    • 장태원
      2002.07.16 05:23
      무슨 에런진 해석할수가 없네용.ㅠㅡ; project 파일에 해당 프로그램이 선언되어 있는지? 또..mdichi...
    • 배경
    • 2002.07.16 03:50
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 장태원
      2002.07.16 05:39
      CHKIO 에 RTRIM 한번 해보심이..
    • 이동현
    • 2002.07.16 03:03
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 정종우
      2002.07.24 02:17
      오른쪽 껏을 눌렀는데 아무런 응답이 없는상태(101키)라면 오른쪽 키를 지원하는 드라이버(106키)로 바꿨...
    • 한원희
      2002.07.16 04:28
      음냐, CTRL 키가 눌렸을 때, Enter키가 눌린것 처럼 동작해야할 일이 있나요? 음... 별로 추천할 만한 일...
    • 장영철
    • 2002.07.16 02:50
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 장태원
      2002.07.16 05:38
      US7ASCII 이거 때문이 아닐까 싶네요..language드라이버를 kor....로 바꿔주셔 보심이...
    • 최용일
      2002.07.16 03:21
      안녕하세요. 최용일입니다. 소수가 뭔지만 알면 금방 할 수 있는건데... 1하고 자기자신으로만 나누...
    • 도리도리
      2002.07.16 21:46
      네..답변 주셔서 감사합니다..그런데 제가 공부하는 입장이기에 무작정 님께서 오려주신 내용을 보고 할...
    • 최용일
      2002.07.16 23:15
      100이하의 소수를 구하니까 루프변수는 100까지가 되겠구요... 모든 수가 1로 나누어 지니까 1은 제외하...
    • 권대경
    • 2002.07.16 02:14
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 한원희
      2002.07.16 04:42
      TValueListEditor 로는 비슷하기는 해도 불가능하지 않나요? 제가 사용해본 컴포넌트 중에 FlyTree 라는...
    • 권대경
      2002.07.17 02:21
      좋은 정보 주셔서 감사합니다. 님의 말대로 TValueListEditor로는 구현이 불가능한 것  같...
    • 장태원
      2002.07.16 05:35
      DBCtrlGrid 에서 컴퍼넌트 올려놓으실때..한 레코드 안에 다 넣어주세요. 마치 한레코드를 보이기에는 ...
    • 곽충열
      2002.07.16 06:11
      답변 감사드립니다. 근데 문제는 레코드 개수가 정해져 있지 않거든요.. 제 경우 Row가 다섯개가 생...
    • 김길명
    • 2002.07.16 02:08
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.07.16 02:33
      안녕하세요. 최용일입니다. 검색해보시면 있는데... 쩝~ Re: 법인번호가 올바른지 체크하는 방법...
    • 한원희
      2002.07.16 04:38
      일단 포커스를 갖을 수 있는 컨트롤은 TWinControl 에서 상속받은 것만 가능하기 때문에 다음과 같이 코딩...
    • 홀로서기
      2002.07.16 18:38
      잘 되네여 ~ ~ 델파이 초보라서 알고시픈건 많은데... 주변에 도와주는 사람은 없고 ㅠㅠ 여기와서 많은...
    • 최용일
      2002.07.16 02:27
      안녕하세요. 최용일입니다. 리스트같은 걸 써서 프로세스 리스트를 관리하시면 될거같은데요... Crea...
    • 김동광
      2002.07.16 03:25
      sub process는 코딩으로 CreateProcess함수로 만드는 것이 아니구요! CreateProcess함수에 의해 생성된 p...
    • 최용일
      2002.07.16 04:02
      전체 프로세스 리스트를 루프를 돌면서 갱신하면서 검색하시다가 원하시는 서브프로세스가 검색되어질때 그...
    • 최용일
      2002.07.16 00:45
      안녕하세요. 최용일입니다. FormatDateTime을 이용해보세요... var     MyDateTi...
    • * 아자!! *
      2002.07.16 02:06
      StrToDateTime(FormatDateTime('YYYY-MM-DD opensi + ":" +openbun', Now)); 이런식으로 하면 될것 같은데...
    • 최용일
      2002.07.16 02:22
      쩝~ StrToDateTime( FormatDateTime('YYYY-MM-DD ' + OpenSi + ':' + OpenBun + ':00', Now) ); ^^ ...
    • 김진만
    • 2002.07.15 22:49
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 장태원
      2002.07.16 05:42
      Stream 말고.. assign 이나 value를 사용해보심이..ㅡㅡ;
    • 휴초보
    • 2002.07.15 22:37
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.07.16 00:46
      안녕하세요. 최용일입니다. 자료실에 있는 G32컴포넌트를 써보세요... 레이어 기능 지원합니다. 거기...
    • 김진혁
      2002.07.16 01:28
      무식한 방법이지만...아주 쉬운 방법이 있습니다... 이미지 컴포넌트를 계속해서 씌우는 것이죠,... 이미...
    • 이지태
    • 2002.07.15 21:57
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 오정민
      2002.07.16 07:43
      property에서 WindowState 을 wsMaximized 로 하면 되지 않을까여... 오늘 하루도 즐거운 하루되세요.
    • 머슴
      2002.07.15 22:33
      스크린 상관없이 항상 일정한크기로 폼을 띄우는 방법입니다.. implementation const ScreenWidth:Lo...
    • 장태원
      2002.07.16 05:37
      혹시...윈도우계정을 상속시켜놨는지 궁금하군요. 예를 들어 서버에 administrator 만 허용시켰고. ...
    • 손동언
    • 2002.07.15 21:24
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 전철호
      2002.07.15 22:38
      Delete라는 Method가 있습니다. 예를 들면 ListBox1.Items.Delete(지우고 싶은 아이템); 이라고 하면 ...
    • 블랙썬
      2002.07.15 21:33
      //선택된거만 삭제 ListBox1.DeleteSelected; //Listbox 아이템 인덱스로 삭제 ListBox1.Items.Dele...
    • 한원희
      2002.07.15 21:31
      마지막 줄을 삭제하시려면, ListBox1.Items.Delete(ListBox1.Items.Count-1); 이렇게 하시면 됩니다....
    • 머슴
      2002.07.15 22:27
      DLL의 폼을 생성할때 소유자를 nil로 하지마시고요.. Application으로 한번 해보세요...
    • 최용일
      2002.07.16 01:00
      안녕하세요. 최용일입니다. 스트링그리드의 OnKeyDown이벤트에서 아래와 같이 코딩해보세요... 참고...