자료구조와 함께배우는 알고리즘입문-자바편 p. 31
알고리즘 연습문제 Q7
1~10의 합 (1+10)*5 같은 1부터 n까지의 정수 합을 구하는 프로그램 만들기
연습문제7
public class SumFor2 {
public static void main(String[] args) { Scanner stdIn = new Scanner(System.in);
System.out.println("1부터 10까지의 합을 구합니다.");
int n = stdIn.nextInt();
int sum = 0;
for(int i= 1; i<=n; i++)
sum += i;
System.out.println("1부터"+n+"까지의 합은"+sum+"입니다");
}
}
하나도 모르겠네 ㅎㅎㅎ
import java.util.Scanner;
class SumGauss {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
System.out.println("1에서 n까지의 총합을 구합니다.");
System.out.print("n의 값 : ");
int n = stdIn.nextInt();
int sum = (n + 1) * (n / 2) + (n % 2 == 1 ? (n + 1) / 2 : 0); // 총합
System.out.println("1에서 " + n + "까지의 총합은 " + sum + "입니다.");
}
}
연습문제8
연습문제 8
public class SumFor3 {
public static void main(String[] args) { Scanner stdIn = new Scanner(System.in);
System.out.println("a부터 b까지의 합을 구합니다.");
int n = stdIn.nextInt();
int sum = 0;
for(int i= 1; i<=n; i++)
sum += i;
System.out.println("a부터"+b+"까지의 합은"+sum+"입니다");
}
}
}
}
import java.util.Scanner;
class SumOf {
static int sumof(int a, int b) {
int min; // a, b의 작은 쪽의 값
int max; // a, b의 큰 쪽의 값
if (a < b) {
min = a; max = b;
} else {
min = b; max = a;
}
int sum = 0; // 총합
for (int i = min; i <= max; i++)
sum += i;
return sum;
}
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
System.out.println("a와 b를 포함하여 그 사이에 있는 모든 정수의 총합을 구합니다.");
System.out.print("a의 값 : "); int a = stdIn.nextInt();
System.out.print("b의 값 : "); int b = stdIn.nextInt();
System.out.println("정수 a, b 사이의 모든 정수의 총합은 " + sumof(a, b) + "입니다.");
}
}
몰랐던점:
- 물음표연산자 (?) 사용법 ifelse 사용법
출처: https://blog.naver.com/50after/220859466724
물음표 연산자 ?:를 이용한 ifelse단순화
안녕하세요!! 오늘은 잘 사용은 안 하지만 알아두면 좋은 자바의 3항 연산자인 물음표(?)에 대해서 알아보...
blog.naver.com
n%2==1 ? (n+1)/2 : 0 n%2==1 가 맞으면 (n+1)/2을 연산한다. 틀리면 0을 내보낸다.
- a와 b 의 대소관계에 상관없이 합을 구하세요. 이렇게 많은 말이 필요한지 몰랐음. 까다롭다잉
if (a < b) {
min = a; max = b;
} else {
min = b; max = a;
}
Q9. b-a를 출력하는 프로그램을 작성하세요.
변수 b에 입력한 값이 a값 이하면 변수 b값을 다시 입력하세요
if (a<b) {
min =a;
max=b;}else {
}
System.out.print("a의 값 : ");
int a = stdIn.nextInt();
int b;
import java.util.Scanner;
class Difference {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
System.out.print("a의 값 : ");
int a = stdIn.nextInt();
int b;
while (true) {
System.out.print("b의 값 : ");
b = stdIn.nextInt();
if (b > a) break;
System.out.println("a보다 큰 값을 입력하세요!");
}
System.out.println("b - a는 " + (b - a) + "입니다.");
}
}
if (b > a) break;
System.out.println("a보다 큰 값을 입력하세요!");
아까부터 삽질
b>a 이면 break 이고
b<a 이면 " a보다 큰 값을 입력하세요!" 가 나온다.
Q10. 하나도 모름 ^ㅁ<
'【스터디노트】 > ▶알고리즘문제풀기' 카테고리의 다른 글
[알고리즘] 위상정렬 (0) | 2025.02.28 |
---|---|
[버블정렬] (0) | 2025.01.29 |