728x90
SMALL
백준 문제 풀이: 2475 [검증수]
문제 링크: https://www.acmicpc.net/problem/2475
문제 설명:
5개의 자연수가 주어졌을 때, 각 숫자를 제곱한 뒤 모두 더한 값을 10으로 나눈 나머지를 구하는 프로그램을 작성하세요.
입력 조건:
- 첫째 줄에 5개의 자연수가 주어집니다. (0 ≤ 숫자 ≤ 9)
출력 조건:
- 검증수를 출력합니다.
문제 해결 코드
#include <iostream>
using namespace std;
int main() {
int arr[5]; // 5개의 숫자를 저장할 배열
for (int i = 0; i < 5; i++) {
cin >> arr[i]; // 배열 입력
}
int sum = 0;
for (int i = 0; i < 5; i++) {
sum += arr[i] * arr[i]; // 각 숫자의 제곱을 더함
}
cout << sum % 10 << endl; // 합을 10으로 나눈 나머지 출력
return 0; // 프로그램 정상 종료
}
코드 설명
위 코드는 주어진 5개의 숫자에 대해 검증수를 계산하고 출력합니다.
- 입력 처리:
- `arr` 배열을 사용하여 5개의 숫자를 입력받습니다.
- 검증수 계산:
- 각 숫자를 제곱한 값을 `sum`에 누적합니다.
- `sum % 10`을 계산하여 검증수를 구합니다.
- 출력:
- 검증수를 출력합니다.
시간 복잡도 분석:
- 입력: 5개의 숫자를 입력받는 데 O(5).
- 계산: 5개의 숫자를 제곱하고 더하는 데 O(5).
따라서 전체 시간 복잡도는 O(1)로 상수 시간입니다.
결과
다음은 입력 예시와 출력 결과입니다:
입력:
1 2 3 4 5
출력:
5
위 입력에서는 (1² + 2² + 3² + 4² + 5²) % 10 = 5가 됩니다.
다른 접근 방식이나 개선 사항이 있다면 댓글로 공유 부탁드립니다!
728x90
LIST
'BAEKJOON > 수학' 카테고리의 다른 글
백준 2739번 [구구단](C++)-yes6686- 티스토리 (0) | 2023.12.18 |
---|---|
백준 15824번 [너 봄에는 캡사이신이 맛있단다](C++)-yes6686- 티스토리 (0) | 2023.12.17 |
백준 2577번 [숫자의 개수](C++)-yes6686- 티스토리 (0) | 2023.12.16 |
백준 1008번 [A/B](C++)-yes6686- 티스토리 (0) | 2023.12.16 |
백준 1001번 [A-B](C++)-yes6686- 티스토리 (0) | 2023.12.16 |