: for(a=2;a<=20;++a) {
: for(b=2;b<=a;++b) {
: if((a%b)==0)
: c++;
: }
: if (c==1)
: sum+=a;
c=0; //////////////////////////////// <<<<
: }
c 정보를 이용하여 sum을 증가시킨 후, c 정보 초기화를 하지 않아서 문제가 생긴 듯 합니다.
정세린 님이 쓰신 글 :
: 안녕하세요~ 이번에 처음 터보C로 C언어를 공부하고 있는 생초짜입니다 ㅠ_ㅠ
: 책을 보고 차근차근 공부하다가 예제를 풀게 되었는데요.
: 바로 1-20까지의 숫자 중에서 소수만을 골라 그 합계를 구하는 건데요.
: 이게 알동 말동 하면서도 너무 헷갈려서요^^;
: 제가 짠 것을 한 번 올려보니 어느 부분이 틀렸는지 가르침을 주셨으면 해요!
: (너무 많은 질타는 무서워요 ㅠ_ㅠ 초보예요)
:
: #include <stdio.h>
:
: void main() {
: int a, b;
: int c=0, sum=0;
:
: for(a=2;a<=20;++a) {
: for(b=2;b<=a;++b) {
: if((a%b)==0)
: c++;
: }
: if (c==1)
: sum+=a;
: }
: printf("1부터 20까지 중 소수만의 합은 %d",sum);
: }
|