[C 언어 훈련]abcd=(ab+cd)2 성질 의 네 자리 수 구하 기

제목 링크:http://115.28.203.224/problem.php?cid=1010&pid=16
제목 설명
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 << " ";
				}
			}
		}
	}

}

좋은 웹페이지 즐겨찾기