Blog

[Algorithm]07 입력한 값 까지의 짝수들의 합을 구하는 계산기 만들기

Author
Summary
짝수의 합
Category
Study
Tags
Algorithm
Favorite
Memory Date
2023/08/01
Progress Status
Done
Cross Reference Study
Related Media
Related Thought
Related Lessons
tag
날짜
작성자
진행상황
진행 전
태그구분
5 more properties
이제부터 퀴즈처럼 연산 부분이 시작된다. 이제 Java 기본에서 배웠던 반복문의 특징을 응용해서 풀어내야 한다. 문제가 간단해보여도 어떤 제어문을 사용 할지, 어느 부분을 내가 컨트롤 할 수 있을지 생각해야 해서 이런 문제는 자주 접해보는 수 밖에 없다. 지각능력이 좋으면 금방 아이디어를 얻을 수 있을 것 같다.

1. Main.java

package Algorithm05; public class Main { public static void main(String[] args) { System.out.println("정수 n이 주어질 때,\n" + " n이하의 짝수를 모두 더한 값을\n" + " return 하도록 solution 함수를 작성해주세요.\n" + "\n" + "제한사항\n" + "0 < n ≤ 1000"); Solution solution = new Solution(); solution.inputNum(); } }
Java
복사

2. Solution.java

package Algorithm05; import java.util.Scanner; public class Solution { //정수 n이 주어질 때, n이하의 짝수를 모두 더한 값을 return 하도록 solution 함수를 작성해주세요.////제한사항//0 < n ≤ 1000//필요데이터//입력값 n//스캐너//0 < n ≤ 1000 유효성검사 while//result//필요메서드//inputNum()//calculate()//n이하의 짝수//ex) 5면, 2, 4이다. (2*i) < n//i가 증가하면서 2의 배수로 진행, result에 값을 누적하면서 n전까지 가는 방식으로 가보자.//outputSum()int inputNum; int result; Scanner sc = new Scanner(System.in); public Solution() { } void inputNum() { while (true) { System.out.println("짝수합을 구할 최대 숫자를 입력하세요."); inputNum = sc.nextInt(); if (inputNum < 0 || inputNum > 1000) { System.out.println("최대 숫자는 1~1000범위로 입력해주세요."); continue; } else { calculate(inputNum); break; } } } void calculate(int inputNum) { for (int i = 1; i <= inputNum; i++) { if (i * 2 <= inputNum) { result += i * 2; } else { break; } } outputSum(inputNum, result); } void outputSum(int intputNum, int result) { System.out.printf("0부터 %d까지의 짝수를 모두 더한 값은 %d와 같습니다.", intputNum, result); } }
Java
복사