inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Cấu trúc dữ liệu đã học trong Java

소수의 개념을 알겠지만 원리를 모릅니다.. 그냥 외워야 할까요?

788

Jeong Hei Hyun

12 câu hỏi đã được viết

0

1이랑 또 다른 숫자하나?

정도로 소수를 정의하고 있습니다

수학적으로 n/2 이런거 이해가 안갑니다..

그냥 소수찾을때 공식처럼 외워서 사용해도 되는 걸까요?

문과라.. 휴 어렵네요

java

Câu trả lời 1

1

Gg G

소수란 약수가 1과 자기 자신뿐인 자연수 

여기서 약수란 말이 나오기 때문에 약수가 뭔지 알아야 겠죠. 쉽게 말해서 나누어 떨어지는 수라고 생각하면 됩니다.

즉 다시 풀어서 설명하면 나누어떨어지는 수가 1과 자기자신 뿐인 자연수
가령 10을 보겠습니다.

10은 나누어떨어지는 수(약수)가1과 10(자기자신) 뿐인가요?
아니죠, 10은 2로도 나누어떨어지고, 5로도 나누어떨어집니다. 1, 2, 5, 10 이 10의 약수가 되겠네요
나누어 떨어진다는 말은 다시말해 나머지가 없다는 말과 같습니다.

즉 문제의 정의를 다시 생각해보면
가령 10의 소수의 개수를 찾아? 소수를 찾아라? 라고 한다면
1과 10 이외의 숫자로 나누어 떨어지는 것(약수)이 있는 지 확인해보면 되겠죠?


또한 왜 n/2 까지만 반복문을 돌리냐?
그 원리는 간단합니다. 

10의 약수는 1, 2 , 5, 10 
18의 약수는 1, 2, 3, 6, 9, 18 

보시면 알겠지만 전부 짝을 이룹니다. 1 * 10 = 10, 2*5 = 10, 1 * 18 = 18, 2*9 = 18, 3*6 =18
10의 중앙 10/2 = 5 를 기점으로 그전에 있는 수로 나누어 떨어지는 지 떨어지지 않는 지만 체크해도 충분하기 때문입니다.
그렇기 때문에 문제에서는 i < n  이 아닌 i < n/2 를 사용하고 있는 것입니다.  i < n 해도 아무런 지장은 없습니다.

연습문제 자료들 어디서 볼 수 있을까요

3

967

0

강의자료 어디서 보나요

0

818

0

변수, 배열, 반복문에서 이중for문

1

858

1

섹션1,섹션2의 연습문제에 대한 코드 공유

0

325

0

교수님이 말씀하신 반복문 수업 끝날 때 말씀해주신 연습문제 답 코드 어딨는지 아시는 분계시나요 도와주세요

0

288

0

강의노트를 못 찾겠습니다 ㅠㅠ

0

646

1

오버라이딩

0

407

1

강의자료는 어디서 볼수있나요??

0

496

1

2-1장 (클래스, 객체, 참조변수 3) 마지막 값이 덮어씌워지는 문제

0

216

0

추상클래스와인터페이스 관련강의

0

220

0

왜 main 함수 안에서 함수를 정의하면 오류가 나는 건가요?

0

4250

1

for구문에서 {}

1

278

2

강의자료 소스코드는 따로 없는건가요?

0

307

1

자바 IDE 선택에 대한 질문입니다.

0

374

1

inner class에 대한 질문

0

247

0

remove(index) 구현 질문

0

337

1

훌륭한 코드를 볼때 마다 감탄스럽습니다.

0

335

0

교수님이 자랑 스럽습니다.

0

209

0

상속 3에 예제 2의 영상이 올라와있어요~

0

216

0

3,4 순서가 바뀌어서 업로드 되어 있습니다

0

185

0

강의 노트는 어디서 확인할 수 있나요?

0

561

3

휼륭한 강의 감사합니다.

2

243

0

코드의 차이점이 뭔가요 ??

0

236

1

add와 remove 메소드를 사용할때, size-1에 대한 질문

0

222

1