logo

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

GfG Practice에서 사용해 보세요. ' title= #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(m0.5) - (int)pow(n-10.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)m0.5) - (int)Math.pow((double)n-10.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(m0.5) - Math.pow(n-10.5);  } // Driver Code  let n = 5 m = 100;  document.write('Count is ' + countOddSquares(n m));   </script> 

출력 :  

Count is 8


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




 

자바의 프라임 프로그램