for 문_ 35강 (~까지 수들의 합 구하기)
611
dfcsdgd9703293430
投稿した質問数 7
0
질문 -> //1. 2의 거듭제곱 반복문을 이렇게 만들어도 될까요?
//2. 2^1, 2^2까지의 총합: ... 입니다. 출력되는 말을 다르게 하고 싶은 데 if 문이 너무 길어집니다. if 문 짧게 하고 만들고 싶습니다.
public class _05_For {
public static void main(String[] args) {
//생각나서 만든 2의 거듭제곱 For 문
// 2의 0승부터 2의 10승까지의 합: 2047이 나와야 한다.
// 출력되는 문장들의 말을 다르게 하고 싶다 2^1, 2^2까지의 총합: 이런 식으로
int Sum = 0;
for (int s = 0; s < 11; s++) {
Sum += Math.pow(2, s); //거듭제곱을 계산하기 위해 Math.pow함수(?)를 가져옴
if(s == 0) {
System.out.println("2^0까지의 총합: " + Sum + " 입니다.");
} else if (s == 1) {
System.out.println("2^1까지의 총합: " + Sum + " 입니다.");
} else if (s == 2) {
System.out.println("2^2까지의 총합: " + Sum + " 입니다.");
}
// 2^10까지 표현하기에는 조건문이 너무 많아짐, 줄이는 방법을 알고 싶다.
}
System.out.println("2^의 1부터 10까지, 모든 수의 총합: " + Sum + " 입니다.");
}
}
java
객체지향
回答 2
1
안녕하세요?
Math.pow() 를 이용한 거듭제곱 연산의 합 구하기 반복문의 접근, 아주 좋습니다. 약간만 응용하면 출력문도 반복문 속에서 딱 한 번만 출력하는 것으로 바꿀 수 있지요. 다음과 같이 코드를 변경해보았으니 어떤 부분이 바뀌었는지 확인해보시면 도움되실 것 같아요 😊
int Sum = 0;
for (int s = 0; s < 11; s++) {
Sum += Math.pow(2, s);
System.out.println("2^" + s + "까지의 총합: " + Sum + " 입니다.");
}
System.out.println("2^의 0부터 10까지, 모든 수의 총합: " + Sum + " 입니다.");감사합니다.
자바를 처음 배울 때 이런 고민이 드는 게 정상일까요?
0
136
2
static이 뭐였는지 기억이 안나요 ㅜㅜ
0
112
2
Iterator (알 수 없음) 데이터 삭제 후 초기화 관련 문의
0
70
1
사고력 키우는 법이 어떤게 있나요?
0
92
2
getter setter
0
101
2
섹션9. 66 메소드 오버로딩 시 질문이 있습니다.
0
78
1
안녕하세요 갑자기 프로그램 에러가 떠서 안되네요
0
75
2
변수 이름짓는법
0
114
2
intelli J 실행오류
0
114
2
혹시 이건 수학적 사고가 부족한 걸까요?
0
152
2
영상이 재생이 안됩니다.
0
167
3
이중 반복문 (후반전) 오른쪽으로 치우친 별 쌓기에 질문이 있습니다.
0
115
2
응용이 어렵습니다.
0
203
2
IntelliJ가 보이지 않습니다.
0
182
3
JDK 버전 문의
0
128
2
BlackBox 파일 내에서 메소드 정의
0
136
1
동기화
0
120
2
Iterator 문의
0
104
1
코드 순서 문의
0
139
1
클래스 메소드
0
149
2
Quiz_05 관련 질문드립니다 !
0
117
2
다운로드가 안됩니다
0
165
2
다형성
0
119
2
HashMap
0
80
2

