zoukankan      html  css  js  c++  java
  • 找最大质因子问题

    题目描述,例如13195的质因子有5,7,13,29,其中29是最大质因子,现在给你一个数600,851,475,143,,让你求它的最大质因子。

    这个数记为number,在2-sqrt(number)内先找出质因子然后让number除这些比较小的质因子不断的变小最后剩下的number%i==0的number就是要求的maxnumber(这个number本身是质数的情况要单独讨论下)

    以下是AC代码

     1 #include<iostream>
     2 #include<cstdlib>
     3 #include<cstring>
     4 #include<cmath>
     5 using namespace std;
     6 typedef __int64 LL;
     7 int main(){
     8     LL number,limit,maxnumber;
     9     cin>>number;
    10     maxnumber=0;
    11     limit=(LL)sqrt(number);
    12     for(int i=2;i<=limit;i++)
    13         if(number%i==0){
    14             maxnumber=i;
    15             while(number%i==0){
    16                   number/=i;
    17             }    
    18         }
    19     if(maxnumber=0)
    20      maxnumber=number;
    21     cout<<maxnumber;
    22     return 0;
    23 }
  • 相关阅读:
    29-赫夫曼树
    28-线索化二叉树
    27-顺序存储二叉树
    26-二叉树的遍历查找和删除
    25-二叉树的概念
    24-逻辑结构分析
    23-哈希表
    22-查找算法
    21-堆排序
    Mui-列表/table-view
  • 原文地址:https://www.cnblogs.com/acplayfacm/p/3863874.html
Copyright © 2011-2022 走看看