عدد العناصر ذات العوامل الفردية في نطاق معين

عدد العناصر ذات العوامل الفردية في نطاق معين
جربه على ممارسة GfG #practiceLinkDiv { العرض: لا شيء! مهم؛ }

نظرا لنطاق [ ن م ] أوجد عدد العناصر التي تحتوي على عدد فردي من العوامل في النطاق المحدد ( ن و م شامل). 
أمثلة :  
 

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 


 

الممارسة الموصى بها عد العوامل الفردية جربه!


أ حل بسيط هو تكرار جميع الأرقام بدءًا من ن . لكل رقم، تحقق مما إذا كان يحتوي على عدد زوجي من العوامل. إذا كان لديه عدد زوجي من العوامل، فقم بزيادة عدد هذه الأرقام وأخيرًا قم بطباعة عدد هذه العناصر. للعثور على كافة المقسومات على عدد طبيعي الرجوع بكفاءة جميع المقسومات على عدد طبيعي
ان حل فعال هو مراقبة النمط. فقط تلك الأرقام التي المربعات المثالية لديها عدد فردي من العوامل. دعونا نحلل هذا النمط من خلال مثال.
على سبيل المثال، العدد 9 له عدد فردي من العوامل 1 3 و9. 16 لديه أيضًا عدد فردي من العوامل 1 2 4 8 16. والسبب في ذلك هو أنه بالنسبة للأرقام الأخرى غير المربعات الكاملة، تكون جميع العوامل في شكل أزواج ولكن بالنسبة للمربعات الكاملة يكون العامل واحدًا منفردًا ويجعل المجموع فرديًا.
كيفية العثور على عدد المربعات الكاملة في نطاق؟  
الجواب هو الفرق بين الجذر التربيعي ل م و ن-1 ( ليس ن
هناك القليل من التحذير. كلاهما ن و م شاملة إذا ن إذا كان مربعًا كاملاً، فسوف نحصل على إجابة أقل من الإجابة الفعلية. لفهم هذا، ضع في اعتبارك النطاق [4 36]. الجواب هو 5 أي الأرقام 4 9 16 25 و 36. 
لكن إذا فعلنا (36**0.5) - (4**0.5) نحصل على 4. لذا لتجنب هذا الخطأ الدلالي نأخذ ن-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)