강의도없고해서..
답안만보고 이해가 안되서 질문드립니다.
문제3번을 보면 아무런 근거도없는데.. 어떻게 바로 1번을 구하고 2번을 구하는지 모르겠네여..
답을 보니까 1번 K%J! =0
2번 K==J 이게 답이라는데
무슨근거로 어떻게 나왔는지 모르겠네요
디버깅도 답이 나온시점에서는 의미가없지않나요.
1번 2번이 어떻게 나왔는지
아니면 경우의수를 다 디버깅으로 걸러내는건지..
답변 부탁드립니다.
안녕하세요.
문제에서 소수의 합을 추력하기 위한 프로그램이라는 단서와 각 변수의 용도가 제시되어 있습니다.
k는 소수인지 판별할 숫자가 저장될 변수이고
j가 소수인지 판별할 때 사용할 제수가 저정될 변수라고 제시되었습니다.
k가 2로 초기화된 것은 소수는 1보다 크며 1과 자기 자신으로만 나눠서 0이 되는 수 입니다.
즉 소수인지 판별할 숫자를 2부터 1씩 증가하면서 나눠보다 나머지가 0이 나올 때 그 나누는 값과 나눠지는 값이 같으면 소수인 것입니다.
왜냐하면 소수는 1과 자기 자신으로만 나눠지는 수이므로 자기 자신으로 나누질 때 즉 나머지가 0일 때 나누는 수와 나눠지는 수가 같아집니다.
while ( ) != 0
이 부분의 조건이 만족할 때 j를 1 증가시킵니다.
즉 무언가가 0이 아니면 j를 증가시키는데, j는 k를 나눠볼 제수가 저장될 변수라고 했으니 제수를 증가하는 경우를 생각하면 됩니다.
제수는 언제 증가하냐면 소수인지 판별할 숫자인 k를 j로 나눠서, 즉 k%j를 수행해서 나머지가 0이 아니면 그 다음 수로 나눠봅니다. 이 과정을 반복하다 나머지가 0일 때 비교합니다. 자기 자신과 같은지, 즉 k == j가 Yes이면 소수가 구해진 것이므로 그때의 k를 hap에 누적합니다.
이러한 과정을 입력한 값까지 반복 수행하면 됩니다.
오늘도 즐거운 하루 되세요.
-
*2017-06-19 13:44:42
안녕하세요.
문제에서 소수의 합을 추력하기 위한 프로그램이라는 단서와 각 변수의 용도가 제시되어 있습니다.
k는 소수인지 판별할 숫자가 저장될 변수이고
j가 소수인지 판별할 때 사용할 제수가 저정될 변수라고 제시되었습니다.
k가 2로 초기화된 것은 소수는 1보다 크며 1과 자기 자신으로만 나눠서 0이 되는 수 입니다.
즉 소수인지 판별할 숫자를 2부터 1씩 증가하면서 나눠보다 나머지가 0이 나올 때 그 나누는 값과 나눠지는 값이 같으면 소수인 것입니다.
왜냐하면 소수는 1과 자기 자신으로만 나눠지는 수이므로 자기 자신으로 나누질 때 즉 나머지가 0일 때 나누는 수와 나눠지는 수가 같아집니다.
while ( ) != 0
이 부분의 조건이 만족할 때 j를 1 증가시킵니다.
즉 무언가가 0이 아니면 j를 증가시키는데, j는 k를 나눠볼 제수가 저장될 변수라고 했으니 제수를 증가하는 경우를 생각하면 됩니다.
제수는 언제 증가하냐면 소수인지 판별할 숫자인 k를 j로 나눠서, 즉 k%j를 수행해서 나머지가 0이 아니면 그 다음 수로 나눠봅니다. 이 과정을 반복하다 나머지가 0일 때 비교합니다. 자기 자신과 같은지, 즉 k == j가 Yes이면 소수가 구해진 것이므로 그때의 k를 hap에 누적합니다.
이러한 과정을 입력한 값까지 반복 수행하면 됩니다.
오늘도 즐거운 하루 되세요.