程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 分解質因數,分解質因數的方法

分解質因數,分解質因數的方法

編輯:C++入門知識

分解質因數,分解質因數的方法


  分解質因數代碼: 將一個正整數分解質因數。例如:輸入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;
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved