[C 언어 훈련]abcd=(ab+cd)2 성질 의 네 자리 수 구하 기
1138 단어 C 언어 훈련 문제 풀이
제목 설명
3025 이 수 는 독특한 성질 을 가지 고 있다.그것 을 2 단,즉 30 과 25 로 나 누 어 이 를 더 한 후에 제곱,즉(30+25)2 를 구 하 는 것 은 바로 3025 자체 와 같다.이러한 성질 을 가 진 모든 네 자리 수 를 요청 하 다.
입 출력
문제 의 뜻 을 만족 시 키 는 숫자 는 모두 네 자릿수(작은 것 에서 큰 것 으로 출력 되 고 숫자 사이 에 두 개의 빈 칸 으로 나 뉜 다)
샘플 출력
2025 3025 9801
제시 하 다.
주제 의 뜻 에 따라 궁 거 법 을 채택 하여 모든 네 자릿수 를 판단 하여 이런 성질 에 부합 되 는 네 자릿수 를 선별 할 수 있다.구체 적 인 알고리즘 이 실현 되면 네 자리 수 를 취하 여 두 부분 으로 자 를 수 있 고 앞의 두 자 리 는 a 이 며 뒤의 두 자 리 는 b 이 며 그 다음 에 공식 으로 계산 하고 판단 할 수 있다.
코드
#include
using namespace std;
int main() {
// i ,
int i = 0;
/*
, :
a=20;20<100;
b=25<100;
20*100+25 == (20+25)*(20+25);
2025;
i i=1;
b b=26
a a=21
a=21;21<100;
......
*/
for (int a = 10; a < 100; a++) {
for (int b = 0; b < 100; b++) {
if ((a * 100 + b) == (a + b) * (a + b)) {
cout << a * 100 + b;
//
i++;
// , ,
if (i < 3) {
cout << " ";
}
}
}
}
}