Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 부등식 x*x +y*y
<시간/>

양의 정수 N이 주어집니다. 목표는 다음과 같은 부등식을 만족하는 음수가 아닌 양의 정수 쌍을 세는 것입니다. x*x + y*y

x=0 에서 x2

입력

n=4

출력

distinct pairs= 4

설명 - 쌍은 (0,0), (1,1), (0,1), (1,0)입니다. 이들은 모두 부등식 x2 + y2 <4

를 만족합니다.

입력

n=2

출력

distinct pairs= 3

설명 - 쌍은 (0,0), (0,1), (1,0)입니다. 이들은 모두 부등식 x2 + y2 <2

를 만족합니다.

아래 프로그램에서 사용된 접근 방식은 다음과 같습니다.

  • 정수 N은 양의 정수를 저장합니다.

  • countPairs(int n) 함수는 n을 입력으로 받아 다음과 같은 부등식을 충족하는 음수가 아닌 다른 정수 쌍의 개수를 반환합니다. x2 + y2

  • count는 이러한 쌍의 수를 저장하며 처음에는 0입니다.

  • i=0에서 시작하여 i2

  • i2 + j2

  • 결과로 결국 count를 반환합니다.

예시

#include <iostream>
using namespace std;
int countPairs(int n){
   int count = 0;
   for (int i = 0; i*i < n; i++)
      for (int j = 0; j*j < n; j++) //x*x + y*y < n
         if(i*i + j*j < n)
            count++;
   return count;
}
int main(){
   int N=4;
   cout << "Distinct Non-Negative integer pairs count: "
   << countPairs(N) ;
   return 0;
}

출력

Distinct Non-Negative integer pairs count: 4