zoukankan      html  css  js  c++  java
  • 求质因数(正整数)

    质因数(素因数或质因子):即除 1 以外能整除给定正整数的质数。(1 既不是素数,也不是合数)

    质数:自然数中除了1和它本身以外不再有其他的除数能整除。

    合数:自然数中除了能被1和本身整除外,还能被其他的数整除(不包括0)的数。

    质数:2、3、5、7、11、13、17、19...

    合数:4、6、8、9、10、12、14、15、16...

    例:

      6的质因子是2、3。(6 = 2 × 3)

      12的质因子是2、3。(12 = 2 × 2 x 3)

      15的质因子是3、5。(15 = 3 × 5)

    求质因数方法:

          短除法(http://baike.baidu.com/link?url=kjiJwp_p0UQGFzNIQvnW1C7zSMmJujYA66w8zuEqyLPS-34NcFtJ_1MfaeDLvA1DYY66xq686fo3OIcdHl7Fy_)

    代码: 

     1 #include<stdio.h>
     2 #include<math.h>
     3 
     4 //求素数
     5 int sushu(int n){
     6     int i;    
     7     for(i = 2; i <= sqrt(n); i++){
     8         if(n % i == 0){
     9             return 0;
    10         }    
    11     }
    12     return 1;        
    13 } 
    14 //求质因数 
    15 void zhiyinshu(int n){
    16     int i;
    17     if( n == 1){
    18         printf("	 1 既不是素数也不是合数
    ");
    19     }else{
    20         printf("
     %d 的质因素有:",n);
    21         for(i = 2; i <= n; i++){
    22             if(n % i == 0){
    23                 if( sushu(i) == 1){
    24                     printf("	%d",i);
    25                 }
    26             }
    27         }
    28     }
    29 }
    30 //主函数 
    31 int main(){
    32     int n = 0;
    33     
    34     while(n < 1){
    35         printf("
    请输入n的值:(1 < n)
    	n = ");
    36         scanf("%d", &n);
    37     }
    38     zhiyinshu(n); //求质因数        
    39     return 0;
    40 }

    运行结果1:
           

    运行结果2:

            

  • 相关阅读:
    tp5.1 查询自定义排序(按照查询结果顺序排序)
    Laravel Auth 用户认证
    Laravel 文件上传
    Laravel 缓存操作
    Laravel 验证码
    第46章:TEB
    第45章:TLS回调函数
    第4章:逆向分析技术--32位软件逆向技术
    第43章:内核6中的DLL注入
    第42章:内核6中的会话
  • 原文地址:https://www.cnblogs.com/yuguibin/p/5402713.html
Copyright © 2011-2022 走看看