复合数是一个正整数,而不是 首要的 换句话说,它有一个正除数,而不是一个或它本身。前几个复合数是4,6,8,9,10,12,14,15,16,18,20………
null
- 每一个大于1的整数要么是素数,要么是复合数。
- 第一是一个单位,它既不是素数也不是复合数。
如何检查给定的数字是否为复合数字? 例如:
Input : n = 21Output: YesThe number is a composite number!Input : n = 11Output : No
这个想法很简单,我们可以使用以下任何一种方法进行素数检查。我们只需要更改返回语句。Return true更改为Return false,反之亦然。
在下面的代码中,将讨论优化的学校方法。
C++
// A optimized school method based C++ program to check // if a number is composite. #include <bits/stdc++.h> using namespace std; bool isComposite( int n) { // Corner cases if (n <= 1) return false ; if (n <= 3) return false ; // This is checked so that we can skip // middle five numbers in below loop if (n%2 == 0 || n%3 == 0) return true ; for ( int i=5; i*i<=n; i=i+6) if (n%i == 0 || n%(i+2) == 0) return true ; return false ; } // Driver Program to test above function int main() { isComposite(11)? cout << " true" : cout << " false" ; isComposite(15)? cout << " true" : cout << " false" ; return 0; } |
JAVA
/// An optimized method based Java // program to check if a number // is Composite or not. import java.io.*; class Composite { static boolean isComposite( int n) { // Corner cases if (n <= 1 ) System.out.println( "False" ); if (n <= 3 ) System.out.println( "False" ); // This is checked so that we can skip // middle five numbers in below loop if (n % 2 == 0 || n % 3 == 0 ) return true ; for ( int i = 5 ; i * i <= n; i = i + 6 ) if (n % i == 0 || n % (i + 2 ) == 0 ) return true ; return false ; } // Driver Program to test above function public static void main(String args[]) { System.out.println(isComposite( 11 ) ? "true" : "false" ); System.out.println(isComposite( 15 ) ? "true" : "false" ); } } // This code is contributed by Anshika Goyal |
Python 3
# A optimized school method based Python program to check # if a number is composite. def isComposite(n): # Corner cases if (n < = 1 ): return False if (n < = 3 ): return False # This is checked so that we can skip # middle five numbers in below loop if (n % 2 = = 0 or n % 3 = = 0 ): return True i = 5 while (i * i < = n): if (n % i = = 0 or n % (i + 2 ) = = 0 ): return True i = i + 6 return False # Driver Program to test above function print ( "true" ) if (isComposite( 11 )) else print ( "false" ) print ( "true" ) if (isComposite( 15 )) else print ( "false" ) # This code is contributed by Anant Agarwal. |
C#
// A optimized school method based C# program // to check if a number is composite. using System; namespace Composite { public class GFG { public static bool isComposite( int n) { // Corner cases if (n <= 1) return false ; if (n <= 3) return false ; // This is checked so that we can skip // middle five numbers in below loop if (n % 2 == 0 || n % 3 == 0) return true ; for ( int i = 5; i * i <= n; i = i + 6) if (n % i == 0 || n % (i + 2) == 0) return true ; return false ; } // Driver Code public static void Main() { if (isComposite(11)) Console.WriteLine( "true" ); else Console.WriteLine( "false" ); if (isComposite(15)) Console.WriteLine( "true" ); else Console.WriteLine( "false" ); } } } // This code is contributed by Sam007 |
PHP
<?php // A optimized school // method based PHP // program to check // if a number is composite. function isComposite( $n ) { // Corner cases if ( $n <= 1) return false; if ( $n <= 3) return false; // This is checked so // that we can skip // middle five numbers // in below loop if ( $n %2 == 0 || $n % 3 == 0) return true; for ( $i = 5; $i * $i <= $n ; $i = $i + 6) if ( $n % $i == 0 || $n % ( $i + 2) == 0) return true; return false; } // Driver Code if (isComposite(11)) echo "true" ; else echo "false" ; echo "" ; if (isComposite(15)) echo "true" ; else echo "false" ; echo "" ; // This code is contributed by Ajit. ?> |
Javascript
<script> // A optimized school method based Javascript program to check // if a number is composite. function isComposite(n) { // Corner cases if (n <= 1) return false ; if (n <= 3) return false ; // This is checked so that we can skip // middle five numbers in below loop if (n%2 == 0 || n%3 == 0) return true ; for (let i=5; i*i<=n; i=i+6) if (n%i == 0 || n%(i+2) == 0) return true ; return false ; } // Driver Program to test above function isComposite(11)? document.write( " true" + "<br>" ): document.write( " false" + "<br>" ); isComposite(15)? document.write( " true" + "<br>" ): document.write( " false" + "<br>" ); // This code is contributed by Mayank Tyagi </script> |
输出:
falsetrue
复合数程序
参考: https://en.wikipedia.org/wiki/Composite_number 本文由 阿杰普里 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 写极客。组织 或者把你的文章寄去评论-team@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。 如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END