본문 바로가기

Java/문제풀이연습

[코딩도장] Multiples of 3 and 5 / Paging (Lv. 1)

 

https://codingdojang.com/scode/350?answer_mode=hide

 

코딩도장

프로그래밍 문제풀이를 통해서 코딩 실력을 수련

codingdojang.com

 

 

Q) 10미만의 자연수에서 3과 5의 배수를 구하면 3,5,6,9이다. 이들의 총합은 23이다.

1000미만의 자연수에서 3,5의 배수의 총합을 구하라.

 

package Codingdojang;

public class Multiples {

	public static void main(String[] args) {
    
		// 3의 배수 + 5의 배수 - 3과5의 공배수
		
		int sum=0;
		
		for (int i = 1; i < 1000; i++) {
			if(i % 3 == 0) {
				sum = sum + i;
			}
			if(i % 5 == 0 && i % 3 != 0) {
				sum = sum + i;
			}
		}
		System.out.println("sum : " + sum);	// sum : 233168
	}

}

if문 두개 쓸필요가 없었음;;; 

package Codingdojang;

public class Multiples {

	public static void main(String[] args) {
    
		// 3의 배수 + 5의 배수 - 3과5의 공배수
		
		int sum=0;
		
		for (int i = 1; i < 1000; i++) {
			if(i % 3 == 0 || i % 5 == 0) {
				sum += i;
			}
		}
		System.out.println("sum : " + sum);	// sum : 233168
	}

}

 

 


 

https://codingdojang.com/scode/406?answer_mode=hide

 

코딩도장

프로그래밍 문제풀이를 통해서 코딩 실력을 수련

codingdojang.com

 

 

 

Q) A씨는 게시판 프로그램을 작성하고 있다.

A씨는 게시물의 총 건수와 한 페이지에 보여줄 게시물수를 입력으로 주었을 때 총 페이지수를 리턴하는 프로그램이 필요하다고 한다.

입력 : 총건수(m), 한페이지에 보여줄 게시물수(n) (단 n은 1보다 크거나 같다. n >= 1)
출력 : 총페이지수

A씨가 필요한 프로그램을 작성하시오.

 

예) 프로그램 수행 시 다음과 같은 결과값이 나와야 함.

   m       n      출력

0 1 0
1 1 1
2 1 2
1 10 1
10 10 1
11 10 2

 

package Codingdojang;

public class Paging {

	public static void main(String[] args) {
		//입력 : 총건수(m), 한페이지에 보여줄 게시물수(n) (단 n은 1보다 크거나 같다. n >= 1)
		//출력 : 총페이지수
		
		pages(0, 1);
		pages(1, 1);
		pages(2, 1);
		pages(1, 10);
		pages(10, 10);
		pages(11, 10);
		
	}
	
	public static void pages(double m, double n) {  // ** 
		
		int pages = 1;
		
		if (m == 0){
			pages = 0;
		} else {
			pages = (int) Math.ceil(m/n);
		}
		System.out.println("페이지수 : " + pages);
	}

}

 

 

* Math.ceil : 인자로 받은 숫자를 올림하여 그보다 크거나 같은 가장 작은 정수를 반환. ( double 타입 **)

** m/n 연산을 double 타입으로 진행. (double 타입이 int로 형변환될때 소숫점 이하를 버리기 때문.)