PGR21.com
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다.
통합 규정을 준수해 주십시오. (2015.12.25.)
Date 2017/10/19 15:39:54
Name holland
Subject [질문] Matlab 소수 찾는 함수 만들기 질문드립니다. (수정됨)
이제 막 매트랩 배우기 시작한 학생입니다

함수 만드는 법과, for 구문에 대해서 배웠고 이를 활용해서 소수(Prime number) 찾는 함수를 만들어야 합니다

예를 들어, 100 이하의 모든 소수를 찾아야 합니다.

Primes(100)을 써서 나오는 결과랑 같아야하는데, 방법은 생각했는데, 매트랩 내 어떤 함수를 써야하는지 잘 몰라서 질문드립니다.

제가 생각한 방법은

function x = assignment(n) % n 이하의 소수를 찾는 함수

for i = 2:n
     for j = 1:i
          if rem(i,j) = 0;
             j 값들을 저장 , 그리고 j를 저장한 행렬의 크기가 2 by 1이면 i는 소수
     end
end

이렇게 나온 i들을 또 한 행렬에 다 저장 후 그 값 출력


위와 같은 함수를 만들면 Primes(100)에 나오는 값들과 똑같은 결과를 얻을 수 있지 않을까 생각했습니다
근데 함수 구문 중에 제가 한글로 설명한 부분을 어떻게 표현해야 할 지 잘 모르겠습니다 ㅠㅠ
어떤 식으로 해야 하는지 힌트 주시면 감사하겠습니다!

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
Bluelight
17/10/19 15:48
수정 아이콘
j를 저장하지 말고, counter 두 개 써서 하시면 될 것 같은데요.

prime_count=0;
for i = 2:n
count =0;
for j = 1:i
if rem(i,j) = 0;
count= count +1;
end
if (count>=2)
행렬(prime_count)=i;
prime_count=prime_count+1;
end

이런식으로 하시면 될 듯요
17/10/19 21:21
수정 아이콘
답변 감사합니다. 괜히 제가 어렵게 하고 있었네요
17/10/19 16:01
수정 아이콘
j값들을 굳이 저장하지 마시고 갯수만 세어보시면 됩니다. 행렬에 넣는건 p=[p, i] 뭐 이런식으로 뒤에 하나씩 넣으시면 되구요.
그리고 에라토스테네스의 체를 이용하면 더 빠르게 구할 수 있긴 합니다. 이건 흥미가 생기시면 도전해보세요~
17/10/19 21:22
수정 아이콘
에라토스테네스 중1때 소수 배우면서 책에서만 봤었는데 실제로 이렇게 활용할 수 있네요
알려주셔서 감사합니다!
정은비
17/10/19 16:17
수정 아이콘
for문 하나만 써서 rem([5,5,5],[2,3,4]) 처럼 필요한 나머지를 한번에 구한다음 나머지에 0이 있냐 없냐로만 따져도 됩니다.
연구실에서 매틀랩쓸때 항상 for문을 최소화 하라는 얘길 지겹도록 들었어서 유의하시면서 공부하시면 좋을 것 같아 남기고 갑니다.
17/10/19 21:23
수정 아이콘
네 감사합니다! 앞으로 공부하면서 유념하도록 하겠습니다
일리단
17/10/19 16:21
수정 아이콘
저라면 그냥 break 를 쓸것같네요
17/10/19 21:25
수정 아이콘
http://studymake.tistory.com/436

break 구문 찾아보니 이렇게 하는 방법 말씀하신거 맞으시죠?
일리단님 덕분에 하나 더 배웠습니다 감사합니다
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
110696 [질문] 포르투갈 여행 포르투 vs 리스본 조언 부탁드립니다. [13] 우리집개5988 17/10/22 5988
110695 [질문] 어도비 클라우드에 대해 질문 드립니다. [2] 숲속친구들1224 17/10/21 1224
110694 [질문] [lol]더블 향로 같은건 어떨까요 [9] Helix Fossil3432 17/10/21 3432
110693 [질문] 스타크래프트 리마스터 실행이 안됩니다. [9] 바람의여행기4848 17/10/21 4848
110692 [질문] 배틀필드 구매 관련 조언부탁드립니다. [8] 오늘보다 나은 내일3136 17/10/21 3136
110691 [질문] 컴퓨터 견적 뽑아봤는데 어떤가요?? [13] 지앞영소녀시대3311 17/10/21 3311
110690 [질문] 내쉬 균형 관련 질문입니다. [6] 아름답고큽니다3125 17/10/21 3125
110689 [질문] 이거 나가라는 말로 받아드리면 될까요? [25] 삭제됨5091 17/10/21 5091
110688 [질문] 알뜰폰에서 3사 통신사로 이동하는 것도 번호이동인가요? [2] 모나크모나크5205 17/10/21 5205
110687 [질문] 직장 내 애 키우는 기혼자들을 위해 미혼자들이 업무를 더 맡아주면 좋겠다는 주장에 관한 질문입니다. [21] 남자의일격3554 17/10/21 3554
110686 [질문] 어떤 신입사원이 되어야 할까요? [8] Genius3259 17/10/21 3259
110685 [질문] 기업가로서 이명박의 비결은 무엇이라고 생각하시는지요...? [9] nexon3619 17/10/21 3619
110684 [질문] 차잘알 회원님들의 조언이 필요합니다. [8] 금주망태1949 17/10/21 1949
110683 [질문] 직장 뒷담화 맨탈관리. [20] 자제해주세요5080 17/10/21 5080
110682 [질문] 지난 카카오톡 장애는 정말 심각한 문제인 거 아닌가요? [3] 나이테2683 17/10/21 2683
110681 [질문] 남자트레이닝복 추천 부탁드립니다 [4] 베르나르5209 17/10/21 5209
110680 [질문] 0-2 거지런 돌 때 어떤 요정이 좋나요??? [8] NㅏRㅏ3192 17/10/21 3192
110679 [질문] 포켓(앱/서비스)과 연동해서 코멘트를 쉽게 달수 있는 도구가 있을까요? SaiNT1030 17/10/21 1030
110678 [질문] 회사앞 자취방 원룸 전세 질문있습니다 [1] 무민2074 17/10/21 2074
110677 [질문] 동생이 비트코인?? 비밀번호를 잊어버렸다네요 [13] Lancer3258 17/10/21 3258
110676 [질문] 영어회화 공부하기 좋은 미드/시트콤/티비프로그램 추천부탁드립니다 (완전초보) [5] 노래하는몽상가2935 17/10/21 2935
110675 [질문] [질문] 리그패스 무료라길래 구입했는데 [1] 속보1786 17/10/21 1786
110674 [질문] 롱주 칸이 지역 비하한것도 사실인가요? [32] 발틴4511 17/10/21 4511
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로