| | | 제 목 | 질문드림니다. | | | 글쓴이 | 기사친구 | 작성일 | 2009-06-22 오전 10:46:03 | 조회수 | 1502 | | | 글공유 | |
| | | 김문정님 안녕하세요.
C>B일때 출력과정은... 우선 입력받은 수(B)가 출력됩니다. 그리고 그 수의 약수가 출력됩니다. 약수는 A라는 배열에 저장되어 있습니다.
배열이란 변수의 집합체를 말합니다. 변수 여러개를 번지로 구분하여 저장하는... 쉽게 말하면 집 한채 한채 따로 있는것이 아니라 아파트에서 호수로 집을 구별한다고 생각하시면 됩니다.
만약 10을 입력하였다면 A 배열에는 차례대로 1, 2, 5, 10이 저장되어 있습니다.
1 |
2 |
5 |
10 |
.. |
.. |
.. |
.. |
.. |
.. | 앞에서 부터 1번지입니다. 1은 A의 1번지, 즉 A(1)에 저장되어 있습니다. 2는 A(2), 5는 A(3), 10은 A(4)에 저장되어 있겠죠?
아파트에 사는 사람의 주소를 말할때 아파트 자체로 말하지 않고 호수도 얘기하듯이 배열에 있는 데이터를 입력/출력하기 위해서도 배열 자체가 아닌 배열과 번지를 동시에 말해주어야 합니다.
그러므로 배열에 저장되어 있는 내용을 출력하기 위해 1번지부터 D(약수의 개수)번지까지 반복문을 돌려서 출력합니다.
약수가 저장되는 부분은 C<=B일때 입니다. B는 입력받은 수이고 C는 나누는 수입니다. B에서 C로 나누어 소수점을 버리면 몫이 나올 것이고 몫에서 C를 곱하고 B의 차는 나머지가 됩니다. 예)B는 9이고 C는 4일때 몫=9/4=2.25=>2, 나머지=9-(2*4)=1 이때 나누어 떨어진다는 말은 나머지가 0일때를 말합니다. 만약 나머지가 0이 아니라면 나누는 수를 하나 증가시켜 다시 확인 하면 되고 나머지가 0이면 이것이 곧 약수이므로 배열 A에 저장시키면 됩니다. 우선 약수의 개수(D)를 하나 늘리고 A(D)=C라고 하면 배열에 나눈 수가 저장될 것입니다.
이해하셨나요? 열심히 공부하셔서 꼭 합격하시길 바랍니다.
알고리즘 8강에서요 C:B C가 B보다 클때 출력단계에서 좀 모르겠어요... 출력단계설명좀 부탁드려요 최종값 D만큼 증가해야된다.??반복하는횟수요? 왜반복하는지 좀 어렵네요....알고리즘요
그리고 4번째 위치까지 저장했으니 (B가 10이라 가정했을때??) 1,2, 5.10?이건 언제 해놓고 대입하나요?질문이 좀 이상하죠ㅜㅜㅜ 그리고 A(i)라는 것도 뭔지 계속 혼돈 스럽습니다. 이부분이 좀 가르쳐 주세요... 출력단계 마지막 부분 전체 부탁드려요....
그리고 순서도 왜우는거 맞죠??? 괄호 비워서 나오니까요??
저는 알고리즘만 강의 볼려고 하는데 그럼 합격이니 알고리즘만 공부해도 괜찮죠?? 시간이 없어어요,,,, 8강 넘 어려워요..ㅜㅜㅜ 그치만 기사친구는 짱이네요^^ | |
|
|