피드백과 공부 내용
1. 처리단계 2.4.에 "3의배수가 아니고 5의 배수가 아니면"으로 표현하는 게 더 정확한 표현임.
2. NS차트 및 설계에서 논리곱 연산자를 &&를 쓰면 안됨(AND를 사용해야함). NS에서 쓰이는 예약어가 아니다. 주의할 것.
1. 문제 이해
2. 분석
3. 설계
4. 검토
5. C구현
//sumWithoutMultiplesOfThreeAndFive.c
/*
파일 명칭 : sumWithoutMultiplesOfThreeAndFive.c
함수 명칭 : main
기 능 : 1부터 100까지 숫자를 세며, 3 혹은 5의 배수인지 확ㄷ인하고 아닐 때 합계를 구하여 출력하며, 최종합계를 출력한다.
입 력 : 없음
출 력 : 합계
작성 일자 : 2019-11-07
*/
//매크로 영역
#include <stdio.h>
#define MAX 100
#define MULTIPLETHREE 3
#define MULTIPLEFIVE 5
//함수 선언
int main(int argc, char* argv[]);
//함수 정의
int main(int argc, char* argv[]) {
//자동 변수 선언
auto unsigned int sum = 0;
auto unsigned int number;
auto unsigned int remainderThree;
auto unsigned int remainderFive;
//1.제목을 출력한다.
printf("숫자\t\t\t합계\n");
//2. 숫자가 최대값보다 작거나 같을 때 반복한다.
for (number = 1; number <= MAX; number++) {
//2.2. 3의 배수인지 확인한다.
remainderThree = number % MULTIPLETHREE;
//2.3. 5의 배수인지 확인한다.
remainderFive = number % MULTIPLEFIVE;
//2.4. 3과 5의 배수가 아니면,
if (remainderThree != 0 && remainderFive != 0) {
//2.4.1. 합계를 구한다.
sum += number;
//2.4.2. 숫자와 합계를 출력한다.
printf("%d\t\t\t%d\n", number, sum);
}
//2.1. 숫자를 센다.
}
//3. 합계를 출력한다.
printf("합계 : %d\n", sum);
//4. 끝낸다.
return 0;
}
6. 디버깅
7. JAVA구현
//Main.java
/*
파일 명칭 ; Main.java
메소드 명칭 : main
기 능 : 1부터 100까지 숫자를 세며, 3 혹은 5의 배수인지 확인하고, 아닐 때 합계를 구하여 출력하며, 최종 합계를 출력한다.
입 력 : 없음
출 력 : 합계
작성 일자 : 2019-11-07
*/
//패키지 선언
package sumwithoutmultiplesofthreeandfive;
//Main 클래스
public class Main{
//main 메소드
public static void main(String[] args){
// 상수 변수 선언
final int MAX = 100;
final int MULTIPLETHREE = 3;
final int MULTIPLEFIVE = 5;
//지역 변수 선언
int sum = 0;
int number;
int remainderThree;
int remainderFive;
//1. 제목을 출력한다.
System.out.println("숫자\t\t\t합계");
//2. 숫자가 최대값보다 작거나 같을 때 반복한다.
for(number=1; number<=MAX; number++){
//2.2. 3의 배수인지 확인한다.
remainderThree=number%MULTIPLETHREE;
//2.3. 5의 배수인지 확인한다.
remainderFive=number%MULTIPLEFIVE;
//2.4. 3과 5의 배수가 아니면,
if(remainderThree!=0 && remainderFive!=0){
//2.4.1. 합계를 구한다.
sum+=number;
//2.4.2. 숫자와 합계를 출력한다.
System.out.printf("%d\t\t\t%d\n", number, sum);
}
//2.1. 숫자를 센다.
}
//3. 합계를 출력한다.
System.out.println("합계 : "+sum);
//4. 끝낸다.
}
}
8. NS차트
'Computer Engineering > 나프잘' 카테고리의 다른 글
나프잘 파랑 / 9-7번 문제풀이 및 피드백 (0) | 2019.12.31 |
---|---|
나프잘 파랑 / 9-6 문제풀이 및 피드백 (0) | 2019.12.31 |
나프잘 파랑 / 9-4 문제풀이 및 피드백 (0) | 2019.11.17 |
나프잘 파랑 / 9-3번 문제 풀이와 피드백 (0) | 2019.11.02 |
나프잘 파랑 / 9-2번 문제 풀이와 피드백 (0) | 2019.09.24 |