zoukankan      html  css  js  c++  java
  • 数学趣题——分解质因数

    在2~n-1之间找出n的两个因数(不一定是质因数)i和j,即i * j = n;

    如果i是质数,则j必须是n的一个质因数,否则继续对j进行质因数分解。

    如果j是质数,则i必须是n的一个质因数,否则继续对i进行质因数分解。

       1: #include <stdio.h>
       2:  
       3: int IsPrime(int a)
       4: {
       5:     int i;
       6:     for (i=2; i<a-1; i++)
       7:     {
       8:         if (a % i == 0)
       9:         {
      10:             return 0;
      11:         }
      12:     }
      13:  
      14:     return 1;
      15: }
      16:  
      17: void PrimeFactor(int n)
      18: {
      19:     int i;
      20:     if (IsPrime(n))
      21:         printf("%d ", n);
      22:     else
      23:     {
      24:         for (i=2; i<n-1; i++)
      25:         {
      26:             if (n % i == 0)
      27:             {
      28:                 printf("%d ", i);
      29:                 if (IsPrime(n / i))
      30:                 {
      31:                     printf("%d ", n / i);
      32:                     break;
      33:                 }
      34:                 else
      35:                     PrimeFactor(n / i);
      36:                 break;
      37:             }
      38:         }
      39:     }
      40: }
      41:  
      42: int main()
      43: {
      44:     int n;
      45:     printf("input a integer\n");
      46:     scanf("%d", &n);
      47:     PrimeFactor(n);
      48:     return 0;
      49: }
  • 相关阅读:
    APP支付,后台支付宝生成预支付设置超时时间timeout_express无效,使用time_expire代替
    一些学习资料
    自连接
    模型成员
    模型查询
    模板
    管理站点
    视图
    设计模型
    搭建开发环境
  • 原文地址:https://www.cnblogs.com/steven_oyj/p/1744090.html
Copyright © 2011-2022 走看看