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 구문 찾아보니 이렇게 하는 방법 말씀하신거 맞으시죠?
일리단님 덕분에 하나 더 배웠습니다 감사합니다
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
110645 [질문] 유튜브 다음 동영상 안 나오게 하는 법 [2] wook984805 17/10/20 4805
110644 [질문] [lol] 롱주는 타릭을 어떻게 대응하려고 했을까요? [4] arq.Gstar2255 17/10/20 2255
110643 [질문] 알뜰폰 통신사로 고가폰 개통, 쓸만할까요? [6] 라플비1994 17/10/20 1994
110642 [질문] 하드디스크 설치하다 멘붕이 왔습니다. 도와주세요... [9] 각키2333 17/10/20 2333
110641 [질문] 애국심은 왜 필요한 걸까요? [45] 류지나5255 17/10/20 5255
110640 [질문] 홍콩 여행 질문이요 [12] 블랙캣1938 17/10/20 1938
110639 [질문] 기가인터넷 신청했는데 11메가밖에 안나오네요 [9] 삭제됨6035 17/10/20 6035
110637 [질문] 마블 & 워크래프트 세계관 정리 잘된곳 알려주세요. [10] 성기사3035 17/10/20 3035
110636 [질문] 용산 아이맥스 H5,6은 지옥인가요? [5] Le_Ciel2814 17/10/20 2814
110635 [질문] 외국인 친구들에게 한국어를 가르칠 예정입니다. 조언 부탁 드립니다. [7] Rosinante1557 17/10/20 1557
110634 [질문] 사진보다 실물이 낫다는말이 실례가 될수있나요? [30] 푸끆이10009 17/10/20 10009
110633 [질문] 조립피씨 질문드립니다. [18] 음악의신2078 17/10/20 2078
110632 [질문] 엎드려 누워서 책보는게 허리에 안좋나요? [8] 이밤이저물기전에2303 17/10/20 2303
110631 [질문] 샤오미 블루투스 스피커 질문입니다. [2] 리노1986 17/10/20 1986
110630 [질문] 영화 알포인트에 대한 해석이 여러가지던데 이유가 몰까요?(스포주의) [9] 개미5100 17/10/20 5100
110629 [질문] [질문] 허준 드라마 에피소드에서 왜 이렇게 행동을 안했는지 궁금합니다... [4] 잘가라장동건1892 17/10/20 1892
110628 [질문] 감기약이 체중과 관련이 있을까요? [4] 박지민3529 17/10/20 3529
110627 [질문] [하스스톤] 히드라어떻게 써야되는지 좀 알려주세요. [10] 유니브로2324 17/10/20 2324
110626 [질문] 메인보드 B250M과 램의 호환성에 관한 질문입니다. [3] 2PM1956 17/10/20 1956
110625 [질문] 램 추가후 비프음 4번이 들리면서 컴퓨터가 안켜집니다 [6] 도잉6532 17/10/20 6532
110624 [질문] 중요한 시험이 얼마 안 남은 여친을 대하는 방법?? [15] 삭제됨6937 17/10/20 6937
110623 [질문] 롤에서는 판짜기가 스타만큼 안중요한가요? [14] johann3269 17/10/20 3269
110622 [질문] [배그] 오늘 한국/일본 서버 추가되면 중국IP는 접속불가인가요? [5] 전크리넥스만써요3058 17/10/20 3058
목록 이전 다음
댓글

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