주어진 범위에서 홀수 인자를 갖는 요소의 수

주어진 범위에서 홀수 인자를 갖는 요소의 수
GfG Practice에서 사용해 보세요. #practiceLinkDiv { 표시: 없음 !중요; }

범위가 주어지면 [ N ] 주어진 범위에서 홀수 개의 요소를 갖는 요소 수를 찾습니다( N 그리고 포함한). 
예:  
 

Input : n = 5 m = 100 Output : 8 The numbers with odd factors are 9 16 25 36 49 64 81 and 100 Input : n = 8 m = 65 Output : 6 Input : n = 10 m = 23500 Output : 150 


 

권장 실습 홀수 인자 계산 시도해 보세요!


에이 간단한 솔루션 다음부터 시작하는 모든 숫자를 반복하는 것입니다. N . 모든 숫자에 대해 요소 개수가 짝수인지 확인하세요. 요소 수가 짝수이면 해당 숫자의 개수를 늘리고 마지막으로 해당 요소의 수를 인쇄합니다. 자연수의 모든 약수를 효율적으로 찾으려면 다음을 참조하세요. 자연수의 모든 약수
효율적인 솔루션 패턴을 관찰하는 것입니다. 해당 숫자만 완벽한 사각형 홀수 개의 요인이 있습니다. 예를 통해 이 패턴을 분석해 보겠습니다.
예를 들어 9에는 1 3과 9의 홀수개의 인수가 있습니다. 16의 인수는 홀수인 1 2 4 8 16입니다. 그 이유는 완전제곱이 아닌 숫자의 경우 모든 인수가 쌍의 형태이지만 완전제곱의 경우 한 인수가 단일이므로 전체가 홀수가 되기 때문입니다.
범위에서 완전제곱수를 찾는 방법은 무엇입니까?  
답은 제곱근의 차이입니다. 그리고 n-1 ( 아니 n
약간의 주의사항이 있습니다. 둘 다로서 N 그리고 다음과 같은 경우에는 포함됩니다. N 완전제곱수는 실제 답보다 작은 답을 얻게 됩니다. 이를 이해하려면 범위 [4 36]를 고려하십시오. 답은 5, 즉 숫자 4 9 16 25 및 36입니다. 
그러나 (36**0.5) - (4**0.5)를 수행하면 4를 얻습니다. 따라서 이 의미 오류를 피하기 위해 다음을 수행합니다. n-1 .
 

C++
   // C++ program to count number of odd squares   // in given range [n m]   #include          using     namespace     std  ;   int     countOddSquares  (  int     n       int     m  )   {      return     (  int  )  pow  (  m    0.5  )     -     (  int  )  pow  (  n  -1    0.5  );   }   // Driver code   int     main  ()   {      int     n     =     5       m     =     100  ;      cout      < <     'Count is '      < <     countOddSquares  (  n       m  );      return     0  ;   }   
Java
   // Java program to count number of odd squares   // in given range [n m]   import     java.io.*  ;   import     java.util.*  ;   import     java.lang.*  ;   class   GFG   {      public     static     int     countOddSquares  (  int     n       int     m  )      {      return     (  int  )  Math  .  pow  ((  double  )  m    0.5  )     -     (  int  )  Math  .  pow  ((  double  )  n  -  1    0.5  );      }      // Driver code for above functions      public     static     void     main     (  String  []     args  )      {      int     n     =     5       m     =     100  ;      System  .  out  .  print  (  'Count is '     +     countOddSquares  (  n       m  ));      }   }   // Mohit Gupta_OMG  <(o_0)>   
Python3
   # Python program to count number of odd squares   # in given range [n m]   def   countOddSquares  (  n     m  ):   return   int  (  m  **  0.5  )   -   int  ((  n  -  1  )  **  0.5  )   # Driver code   n   =   5   m   =   100   print  (  'Count is'     countOddSquares  (  n     m  ))   # Mohit Gupta_OMG  <0_o>   
C#
   // C# program to count number of odd   // squares in given range [n m]   using     System  ;   class     GFG     {          // Function to count odd squares      public     static     int     countOddSquares  (  int     n       int     m  )      {      return     (  int  )  Math  .  Pow  ((  double  )  m       0.5  )     -         (  int  )  Math  .  Pow  ((  double  )  n     -     1       0.5  );      }          // Driver code       public     static     void     Main     ()      {      int     n     =     5       m     =     100  ;      Console  .  Write  (  'Count is '     +     countOddSquares  (  n       m  ));      }   }   // This code is contributed by Nitin Mittal.   
PHP
      // PHP program to count    // number of odd squares   // in given range [n m]   function   countOddSquares  (  $n     $m  )   {   return   pow  (  $m     0.5  )   -   pow  (  $n   -   1     0.5  );   }   // Driver code   $n   =   5  ;   $m   =   100  ;   echo   'Count is '      countOddSquares  (  $n     $m  );   // This code is contributed   // by nitin mittal.    ?>   
JavaScript
    <  script  >   // JavaScript program to count number of odd squares   // in given range [n m]   function     countOddSquares  (  n       m  )      {      return     Math  .  pow  (  m    0.5  )     -     Math  .  pow  (  n  -  1    0.5  );      }   // Driver Code      let     n     =     5       m     =     100  ;      document  .  write  (  'Count is '     +     countOddSquares  (  n       m  ));        <  /script>   

출력 :  

Count is 8 


시간 복잡도: 오(1)
보조 공간: 오(1)