zoukankan      html  css  js  c++  java
  • 分解质因数

     
    分解质因数代码:
    将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
    程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: 
    (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
    (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,
     重复执行第一步。
    (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
    #include<stdio.h>
    main()
    {
      int n,i;
      scanf("%d",&n);
      printf("%d=",n);
      for(i=2;i<=n;i++)
        while(n!=i)
        {
          if(n%i==0)
          {
            printf("%d*",i);
            n=n/i;
          }
          else
            break;
        }
      printf("%d",n);
    }

    另一个代码

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    using namespace std;
    
    int factor[50];
    
    int trial_divisio_fac(int n)
    {
        int a=2;
        int cnt=0;
        while(a*a<=n)
        {
            while(n%a==0)
            {
                factor[cnt++]=a;
                n=n/a;
            }
            a++;
        }
        if(n>1) factor[cnt++]=n;
        return cnt;
    }
    void solve(int n)
    {
        while(n%2==0)
        {
            printf("%d*",2);
            n/=2;
        }
        for(int i=3; i<=sqrt(n); i+=2)
        {
            if(n%i==0)
            {
                n/=i;
                printf("%d*",i);
                i-=2;
            }
        }
        printf("%d
    ",n);
    }
  • 相关阅读:
    14、python基础
    13、Python入门
    12、运算符、流程控制
    10、Linux(六)
    Windows 分层窗口 桌面上透明 Direct3D
    Windows 进程间通信 共享内存
    Linux 库的使用
    FFmpeg 命令行
    FFmpeg 摄像头采集
    FFmpeg input与output 函数流程
  • 原文地址:https://www.cnblogs.com/pach/p/6028070.html
Copyright © 2011-2022 走看看