이 문제에서는 1+3+6+10....으로 1번째 항부터 시작해서 20번째 항이라고하면 210인 수가 20번째 항이고 그 수까지 더하면 1540이 나옵니다.
문제 지문 밑에서부터는 초기값을 0으로 한다는 말과 함께 첫번째 항을 0으로 끼워넣는데 그렇게 하면 20번째 항이 190이 되고 합은 1330인걸로 계산이 됩니다.
0+1+3+6+10+ ....
문제 지문엔 없던 0을 1항으로 보는듯한 설명과 초깃값을 0으로 설정하는 해설이 헷갈려서 질문드립니다.
디버깅 답이 안나와있어서 그런데 출력값은 첫항을 0을 넣고 20번째항까지 합인 1330인가요? 0을 넣지 않고 20번째 항인 1540인가요??
초기값 설정에 무조건적인 0으로 설정해야하나요? 빈칸이였다면 i=1 j=1 k=1 로 설정해서 20번째 항인 210까지 더해서 1540이 나오네요
안녕하세요 길벗수험서 운영팀입니다.
지문에서는 알고리즘을 수험자분들께 설명드리기 위해 0을 포함시켰습니다.
문제대로라면 첫번째 항은 1이 됩니다.
즉, 20번째 항은 210이며, 총 합은 1540이 됩니다.
초기값은 원하시는데로 설정할 수 있습니다.
말씀하시는데로 첫째항을 초기값(1)으로 넣고 2번째 항부터 계산해도 문제 없습니다.
결국 반복문에서는 i가 2부터 시작하여 20에서 종료되니 같은 결과가 출력되니까요.
행복한 하루되세요 :)
-
관리자2019-06-25 13:16:48
안녕하세요 길벗수험서 운영팀입니다.
지문에서는 알고리즘을 수험자분들께 설명드리기 위해 0을 포함시켰습니다.
문제대로라면 첫번째 항은 1이 됩니다.
즉, 20번째 항은 210이며, 총 합은 1540이 됩니다.
초기값은 원하시는데로 설정할 수 있습니다.
말씀하시는데로 첫째항을 초기값(1)으로 넣고 2번째 항부터 계산해도 문제 없습니다.
결국 반복문에서는 i가 2부터 시작하여 20에서 종료되니 같은 결과가 출력되니까요.
행복한 하루되세요 :)
-
관리자2019-06-26 11:01:26
안녕하세요 길벗수험서 운영팀입니다.
아뇨 그렇지 않습니다.
원본 순서도는 i가 0으로 초기화 되어 반복 루프로 들어가면 1로 증가하며, 20이 될 때까지 총 20회 수행됩니다.
초기값을 수정한 순서도는 i가 1로 초기화 되어 반복 루프로 들어가면 2로 증가하며, 20이 될 때까지 총 19회 수행됩니다.
즉, 최종값 20은 수정되어서는 안되죠.
만약 19로 수정하게 되면 총 18회 수행하게 되면서 19번째 항까지 밖에 진행되지 않아 잘못된 결과를 나타내게 됩니다.
행복한 하루되세요 :)
-
*2019-06-26 04:07:12
이전에 질문 드린 문제에 대해 그렇다면 0은 이해를 돕기위함인거고 제가 말한 ijk를 모두 1로 설정했을 경우에는 1항이 이미 나와있기때문에 마지막 판별문에서 i<19로 해야되는거 맞나요?