求质因数,因数,刷质数

求一个数的质因数和因数都是可以采用sqrt的算法。

求质因数:

vector<int> g;
void cal(int x)
{
    int xx=x;
    for(int i=2;i*i<=x;i++)
    {
        if(xx==1)
            break;
        while(xx%i==0)
        {
            xx/=i;
            g.push_back(i);
        }
    }
    if(xx!=1)
        g.push_back(xx);
}

求因数:

vector<int> g;
void cal(int x)
{
    for(int i=1;i*i<=x;i++)
    {
        if(x%i==0)
        {
            g.push_back(i);
            if(x/i>i)
                g.push_back(x/i);
        }
    }
}

刷质数:

int v[111111];
void sol()
{
    for(int i=2;i<=10000;i++)
      if(!v[i])
      for(int j=i*i;j<=10000;j+=i)
      {
        v[j]=1;
     }
}

其余方法待补

时间: 2024-08-17 00:49:34

求质因数,因数,刷质数的相关文章

由100盏灯想到的(二)

本系列的第一篇: http://www.cnblogs.com/dhf327/p/4773672.html 100盏灯的问题,上次我们算是基本解决了,不管算法上是否够优化,至少我们已经在可接受的时间得到了答案. 但是最后还留了一道题,亲们,你们是不是已经想出来了? 一,上次的题目 上一篇给出了python求一个正整数的所有的因数的方法,这个方法目前工作正常,求单个正整数的所有因数速度上也没有任何问题. 但是结合上一篇最后的题目,有心的同学一下子就看出问题来了,1到10的12次方,假设求每个数的所

BZOJ 2705 SDOI2012 Longge的问题 因数分解+欧拉函数

题目大意:给定n,求Σgcd(i,n) (1<=i<=n) n<=2^32 记fi为n的因数,则Σgcd(i,n)=Σphi(n/fi)*fi 记住分解因数和分解质数时都要用O(√n)的方法 不然准T 然后2^32-1不是质数 找质数验证的时候试试2147483647吧 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define M 10

一些简单的C语言算法

1. 输入一个数,打印下述图形 输入5 打印: * ** *** **** ***** #include <stdio.h> int main(int argc, const char * argv[]) { int num,i,j; scanf("%d",&num); for(i=1;i<=num;i++) { for(j=1;j<i+1;j++) { printf("*"); } printf("\n"); }

整数的可除性

[整数的可除性] 1.带余数除法.若a.b是两个整数,其中b>0,则存在着两个整数q及r,使得a=bq+r,0<=r<b成立,而且q及r是惟一的. 这里要注意,b>0,且b>r>=0.所以对于(-1)%7,r应该是6.理论上不应该存在b为负数的情况. b | a,意为b整除a. a = bt. 2.a是b的倍数,b是c的倍数,则a是c的倍数. 3.若a+b是m的倍数,则a-b也是m的倍数. 4.若a1.a2.a3...an都是m的倍数,q1.q2.q2...qn是任意的

Python全栈工程师 (exercises)

# 1:给定一个数,判断他是正数,负数,还是0 a = int(input("请输入一该个整数")) if a == 0: print(a, "是0") elif a > 0: print(a, "是正数") else: print(a, "是负数") # 练习2:输入一个季度的数字 输出该季度有那几个月 b = int(input("请输入一个季度:1.春季2.夏季3.秋季4.冬季")) if b

HDOJ 5317 RGCDQ 水

预处理出每个数有多少个不同的因数,因数最多不超过7 RGCDQ Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 641    Accepted Submission(s): 304 Problem Description Mr. Hdu is interested in Greatest Common Divisor (GCD). He

小学到初三的所有概念!

三角形的面积=底×高÷2. 公式 S= a×h÷2 正方形的面积=边长×边长 公式 S= a×a 长方形的面积=长×宽 公式 S= a×b 平行四边形的面积=底×高 公式 S= a×h 梯形的面积=(上底+下底)×高÷2 公式 S=(a+b)h÷2 内角和:三角形的内角和=180度. 长方体的体积=长×宽×高 公式:V=abh 长方体(或正方体)的体积=底面积×高 公式:V=abh 正方体的体积=棱长×棱长×棱长 公式:V=aaa 圆的周长=直径×π 公式:L=πd=2πr 圆的面积=半径×半径

小学到初三的全部概念!

三角形的面积=底×高÷2. 公式 S= a×h÷2 正方形的面积=边长×边长 公式 S= a×a 长方形的面积=长×宽 公式 S= a×b 平行四边形的面积=底×高 公式 S= a×h 梯形的面积=(上底+下底)×高÷2 公式 S=(a+b)h÷2 内角和:三角形的内角和=180度. 长方体的体积=长×宽×高 公式:V=abh 长方体(或正方体)的体积=底面积×高 公式:V=abh 正方体的体积=棱长×棱长×棱长 公式:V=aaa 圆的周长=直径×π 公式:L=πd=2πr 圆的面积=半径×半径

ParisGabriel:Python全栈工程师(0基础到精通)教程 第十五课(函数嵌套、变量作用域)

ParisGabriel 感谢 大家的支持 每天坚持 一天一篇 点个订阅吧  灰常感谢    当个死粉也阔以 Python人工智能从入门到精通 globals()/locals()函数: globals()返回当前全局作用域内变量的字典 locals() 返回当前局部作用域内变量的字典函数变量: 函数名是变量,它在def 语句创建时绑定函数 fa1 = fa 没有括号 绑定函数 fa1 = fa() 返回结果 函数的变量名可以序列交换算法一个函数可以作为另一个函数的实参传递: 例如: def m