※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 10357번 문제인 Triples이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/10357
10357번: Triples
The input file contains a single test. The first line of the input file contains the value of
www.acmicpc.net
페르마의 마지막 정리(Fermat's Last Theorem)을 이용하는 문제이다. 이 정리는 3 이상의 정수
위 정리에 따라
(1)
(2)
각 경우의 tuple의 개수를 각각 구해 합쳐 문제의 답을 구하자.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
int N, M;
int ans;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> N >> M;
for (int i = 0; i <= N; i++) {
for (int j = i; j <= N; j++) {
for (int k = j; k <= N; k++) {
if (i * i + j * j == k * k) ans++;
}
}
}
cout << ans + (M - 2) * (N + 1);
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 26090 // C++] 완전한 수열 (0) | 2024.03.29 |
---|---|
[BOJ 10407 // C++] 2 타워 (0) | 2024.03.28 |
[BOJ 14244 // C++] 트리 만들기 (0) | 2024.03.26 |
[BOJ 23128 // C++] Math (0) | 2024.03.25 |
[BOJ 16894 // C++] 약수 게임 (0) | 2024.03.24 |