JAVA - 누적 금액 퀴즈 (2022-07-13)
2022. 7. 14. 00:42ㆍ3층 1구역 - 개발의 장/JAVA
package loop_for_0713;
import java.math.BigInteger;
public class Quiz4 {
//Biginteger (long을 넘어가는 큰 데이터를 사용)
public static void main(String[] args) {
System.out.println("1에서 1000까지 자연수중에서 4로 나누어도 6으로 나누어도 나머지가 1이 되는 값들의 합");
int total = 0;
for(int i = 1; i < 1001; i++)
if(i % 4 == 1 && i % 6 == 1)
total += i;
System.out.println("합 : " + total);
System.out.println("\n첫날에 1원을 저축하고, 다음날에 전날의 2배씩 증가하는 방식, 30일동안 저축한 금액은?");
int sum = 0;
int i;
int money = 1;
for(i=1; i <= 30; i++) {
//30일까지 입금한 금액을 확인하기 위한 조건
sum = sum + money;
//다음일자가 되기전에 금액을 2배해준다.
money = money * 2;
}
System.out.println("30일동안 저축한 돈은 " + money + "원 입니다.");
System.out.println("\n전설에 따르면 체스 발명자는 왕으로부터 받을 상을 말하도록 요구 받았을 때");
System.out.println("발명자가 말하길 체스 판의 첫 번째 사각형에는 밀알을 1개, 두번째 사각형에는 밀알 2개를");
System.out.println("세 번째 사각형에는 밀알4개등으로 총 64칸에 밀알을 2배씩 채워주기를 요구 했다.");
System.out.println("이 발명가가 요구한 밀알의 총 개수는?");
//int seed = 1;
//total = 0;
//long milTotal = 0;
//long milSeed = 1;
//for(int j = 1; j <= 64; j++) {
//milTotal = milTotal + milSeed;
//System.out.println(j + " 칸, 누적개수 : " + milTotal);
//milSeed = milSeed * 2;
//}
//System.out.println("밀알의 총 개수 : " + milTotal);
BigInteger milTotal = new BigInteger("0"); // == long milTotal = 0(BigInteger를 적용시 문자열로 적용 "0")
BigInteger milSeed = new BigInteger("1"); // == long milSeed = 1
BigInteger two = new BigInteger("2"); // == milSeed = milSeed * 2에서 2의 값
for(int j = 1; j <= 64; j++) {
milTotal = milTotal.add(milSeed);
milSeed = milSeed.multiply(two);
}
System.out.println("64칸에 둘 밀알의 총 개수 : " + milTotal);
}
}
'3층 1구역 - 개발의 장 > JAVA' 카테고리의 다른 글
JAVA - for문을 이용한 별의 피라미드 만들기 퀴즈(2022-07-16) (0) | 2022.07.16 |
---|---|
JAVA - for문을 이용한 최대공약수 구하는 퀴즈(2022-07-13) (0) | 2022.07.14 |
JAVA - for문을 이용한 작은 수~큰 수의 합계 출력 외 소수 구하는 퀴즈(2022-07-13) (0) | 2022.07.14 |
JAVA - for문을 이용하여 1~1000까지 더하는데 3의 배수 제외, 3과5의 배수는 제외하지 않는 퀴즈 외 1개(2022-07-13) (0) | 2022.07.14 |
JAVA - 디버그 프로그램(2022-07-13) (0) | 2022.07.14 |