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 구문 찾아보니 이렇게 하는 방법 말씀하신거 맞으시죠?
일리단님 덕분에 하나 더 배웠습니다 감사합니다
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
110598 [질문] 유게에 올라왔던 '등교하는 만화' 원작 제목이 뭔가요? [2] John Snow1891 17/10/19 1891
110597 [질문] 인천대와 인하대 문과기준 차이가 많나요? [9] 삭제됨4617 17/10/19 4617
110594 [질문] 로또 매주 만원어치 사는것은 도박중독인가요? [44] NCS7540 17/10/19 7540
110593 [질문] 채용비리가 걸리면 해고가 되나요? [3] 안희정2152 17/10/19 2152
110592 [질문] 20만원 내외 캡슐형 커피머신 추천해주세요. [7] fgcrom3024 17/10/19 3024
110591 [질문] [조조전온라인] 장수 재질문입니다 [4] La La Land3526 17/10/19 3526
110590 [질문] 파스타에 어울리는 저렴한 야채 추천해주세요 [22] 코인괜히시작9433 17/10/19 9433
110589 [질문] 서면에서 모임을 합니다. [1] 부처1621 17/10/19 1621
110588 [질문] 토요일 성동구에 깔끔한 모텔 있나요? [9] ll Apink ll2367 17/10/19 2367
110587 [질문] 노가다 게임에서 재미를 느끼는 이유가 뭘까요? [17] Jecht5971 17/10/19 5971
110586 [질문] Matlab 소수 찾는 함수 만들기 질문드립니다. [8] holland12112 17/10/19 12112
110585 [질문] 아프리카tv 요즘도 그리드 차단해야하나요? [2] Jecht5628 17/10/19 5628
110583 [질문] 이미 생긴 곰팡이를 난방(뜨거운 바람)으로만 제거가능한가요 [6] 스핔스핔2798 17/10/19 2798
110582 [질문] (LCHF)삼겹살 먹을때 기름도 먹어야 하나요!? [20] Demi6937 17/10/19 6937
110581 [질문] 설악산 가족여행 1박2일 코스 내용 좀 부탁드려요. [8] 푸른봄2813 17/10/19 2813
110579 [질문] 모리셔스 신혼여행 질문드립니다. [2] 도시의미학2165 17/10/19 2165
110578 [질문] 두 명이서 할만한 게임 [7] Zerofe4283 17/10/19 4283
110577 [질문] 1080I 혹은 블루레이급 화질의 영상을 보려면 노트북 사양이 어느정도 되어야 할까요? [4] 먼치킨2563 17/10/19 2563
110576 [질문] 소린이 질문드립니다. [19] 램지2381 17/10/19 2381
110575 [질문] 시판중인 위치추적기 같은거 없나요? [7] coolasice2432 17/10/19 2432
110574 [질문] [LOL] 솔랭 듀오를 찾습니다. [10] 네오 이드2275 17/10/19 2275
110572 [질문] 아직도 스타1 운영 패러다임의 큰 변화가 가능하겠죠? (feat. 알파고) [21] TOMATO~3205 17/10/19 3205
110571 [질문] 교통경찰은 단속할 때 일일 할당량이 금액, 건수 어떤 기준일까요? [12] 파란샤프3296 17/10/19 3296
목록 이전 다음
댓글

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