입력값에 근접한 정수를 시그마, 팩토리얼, 제곱을 이용하여 구하는 프로그램.
code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | import java.util.Scanner; public class Calc { Process ps; public static void main(String [] args) { Calc start = new Calc(); start.doit(); } void doit() { Scanner sc = new Scanner(System.in); int input; while (true) { System.out.printf("값을 넣으세요 : "); input = sc.nextInt(); if (input == 0) break; ps = new Process(input); print(); } } void print() { ps.sigma(); System.out.printf("Sigma_%-2d = %d\n", ps.k, ps.sum); ps.factorial(); System.out.printf("%7d! = %d\n", ps.k, ps.sum); ps.square(); System.out.printf("%3d**%-3d = %d\n", ps.k, ps.l, ps.sum); } } class Process { int k, l, num, sum; Process(int num) { this.num = num; } void sigma() { for (k = sum = 0; sum <= num; sum += ++k); sum -= k--; } void factorial() { sum = 1; for (k = 0; sum <= num; sum *= ++k); sum /= k--; } void square() { int k, l; sum=0; for (k = 2; k <= Math.sqrt(num); k++) { for (l = 0; Math.pow(k,l) <= num; l++); if (Math.pow(k,--l) > sum){ sum = (int) Math.pow(k,l); this.k = k; this.l = l; } } } } | cs |
'Programing > Java' 카테고리의 다른 글
Java :: 피자 주문 프로그램 (0) | 2018.09.27 |
---|---|
Java :: 적은 비용의 계단 구하기 (0) | 2018.09.27 |
Java :: 음료 주문 처리 프로그램 (0) | 2018.09.12 |
Java :: 학생 점수로 우수학생 판별 프로그램 (0) | 2018.09.10 |
Java :: 가위바위보프로그램 (1) | 2018.03.26 |