精华内容
下载资源
问答
  • 输入一个整数,输出它的所有素因子 ...//打印出一个整数的所有素因子,不会超时 using namespace std; void func(int n, vector<int> arr) { int k = (int)sqrt(n); int m = n; int i; for (i = 2

    输入一个整数,输出它的所有素因子
    例如:

    15 = 3 * 5
    18 = 2 * 3 * 3
    
    #include<iostream>
    #include<vector>
    #include<cmath>
    //打印出一个整数的所有素因子,不会超时
    using namespace std;
    void func(int n, vector<int> arr) {
     int k = (int)sqrt(n);
     int m = n;
     int i;
     for (i = 2; i <= k; i++) {
      if (n % i == 0) {
       while (n % i == 0) {
        arr.push_back(i);
        n /= i;
       }
      }
     }
     if (n != 1) {
      arr.push_back(n);
     }
     cout << m << ' ' << '=' << ' ' << arr[0];
     for (i = 1; i < arr.size(); i++) {
      cout << ' ' << '*' << ' ' << arr[i];
     }
    }
    int main() {
     int n = 0;
     cin >> n;
     vector<int> arr;
     func(n, arr);
     return 0;
    }
    展开全文
  • 算法思想:1、判断是否为素数,如果是,将该数加入素因子集合,返回。... * 获取正整数的所有素因子 * n为正整数 * primes保存所有的素因子,如:8=2*2*2,12=2*2*3 */ static void getPrime(int n, vector

    算法思想:1、判断是否为素数,如果是,将该数加入素因子集合,返回。2、否则,从2到该数的平方根,

    依次将该数分解为两个数的乘积,分别对分解后的数进行判断。3、上述过程递归进行。

    C++实现:

    /*
     * 获取正整数的所有素因子
     * n为正整数
     * primes保存所有的素因子,如:8=2*2*2,12=2*2*3
     */
    static void getPrime(int n, vector<int> &primes) {
    
    	if (isPrime(n)) {
    
    		primes.push_back(n);
    		return;
    	}
    
    	int k = 2;
    	while (k <= (int) sqrt((double) n)) {
    
    		if (n % k == 0) {
    
    			if (isPrime(k)) {
    
    				primes.push_back(k);
    			} else {
    
    				getPrime(k, primes);
    			}
    
    			int j = n / k;
    
    			if (isPrime(j)) {
    
    				primes.push_back(j);
    			} else {
    				getPrime(j, primes);
    			}
    
    			return;
    		}
    
    		k++;
    	}
    }
    注:isPrime为素数测试函数,参见:http://blog.csdn.net/chtnj/article/details/19915205
    展开全文
  • NowCoder最近在研究因子个数的分布规律,现在给出一系列正整数,他希望你开发一个程序输出每个正整数的因子个数。 #include<iostream> using namespace std; int main() { int n = 0; while (cin >> ...

    一个正整数可以分解成一个或多个数的积。例如36=223*3,即包含2和3两个因子。NowCoder最近在研究因子个数的分布规律,现在给出一系列正整数,他希望你开发一个程序输出每个正整数的因子个数。

    #include<iostream>
    using namespace std;
    
    int main() {
     int n = 0;
     while (cin >> n) {
      int sum = 0;
      int k = (int)sqrt(n);
      for (int i = 2; i <= k; i++) {
       if (n % i == 0) {
        while (n % i == 0) {
         n /= i;
        }
        sum++;
       }
      }
      //循环出来后如果n不是1,那就是一个素因子,所以最后的sum要加一
      if (n == 1) {
       cout << sum << endl;
      }
      else {
       cout << ++sum << endl;
      }
     }
     return 0;
    }
    展开全文
  • 要求,输入一个整数,求出其所有素因子,并表现为乘积方式,求因子算法用子程序来实现,例如:输入480,输出,480=2*2*2*2*2*3*5,一定给分求大神给出程序,一定用80X86啊!!谢谢
  • 对于给定的字符序列,从左至右将所有的数字字符取出拼接成一个无符号整数(字符序列长度小于100,拼接出的整数小于2^31,),计算并输出该整数的最大素因子(如果是素数,则其最大因子为自身) 输入描述: 有多组...

    题目描述

    对于给定的字符序列,从左至右将所有的数字字符取出拼接成一个无符号整数(字符序列长度小于100,拼接出的整数小于2^31,),计算并输出该整数的最大素因子(如果是素数,则其最大因子为自身)

    输入描述:

    有多组数据,输入数据的第一行为一个正整数,表示字符序列的数目,每组数据为一行字符序列。

    输出描述:

    对每个字符序列,取出所得整数的最大素因子,若字符序列中没有数字或者找出的整数为0,则输出0,每个整数占一行输出。

    示例1

    输入

    复制

    3
    sdf0ejg3.f?9f
    ?4afd0s&2d79*(g
    abcde

    输出

    复制

    13
    857
    0

    #include<stdio.h>
    #include<string.h>
    #include<math.h>
    //17 9 7 
    int isPrime(int a) {
        int max = 0;
        for(int i = 2; i*i<a; i++) {
            while(a%i==0) {
                if(i>max)
                    max=i;
                a=a/i;
            }
        }
        return a>max?a:max;
    }
     
    int pin(char s[]) {
        int num = 0;
        for(int j = 0; j<strlen(s); j++) {
            if(s[j]>='0'&&s[j]<='9') {
                num = num*10+s[j]-'0';
            }
        }
        return num;
    }
     
    int main() {
        char s[100],s1[100];
        int num = 0,k=0,a,f = 0;
        int n;
        scanf("%d",&n);
        getchar();
        for(int h = 0; h<n; h++) {
            gets(s);
            num = pin(s);
            if(num == 0) {
                printf("0\n");
                num = 0;
                continue;
            }
            printf("%d\n",isPrime(num));
            num = 0;
        }
        return 0;
    }
     

    展开全文
  • 对于给定的字符序列,从左至右将所有的数字字符取出拼接成一个无符号整数(字符序列长度小于100,拼接出的整数小于2^31,),计算并输出该整数的最大素因子(如果是素数,则其最大因子为自身) 输入描述 有多组数据...
  • 定义 ,易知 为积性函数,即对任意 ,有 ....易知 为上述方程一组正整数解,则 也为上述方程一组正整数解.令 ,显然 则只需取 ,即 .对任意 记 , , , .对于充分大 ,取 注意到对任意素数...
  • 找出一个整数的所有因子 显示所有的最小因子–素因子 例如输入整数120,那么输出如下 2,2,2,3,5 解: n=eval(input(“输入一个整数”)) i=2 #我们从二开始验证如120%2 while True: if n%i==0: print(i,end=",")...
  • 求给定整数的所有素因子 1. 题目:求给定整数的所有素因子 2. 要求:输入一个整数,求出其所有素因子,并表现为乘积方式,求因子的算法用子程序来实现。例如,输入480,输出480=2*2*2*2*2*3*5 C++代码如下 1...
  • 给定一个正整数n,求一个正整数p,满足p仅包含n的所有素因子,且每个素因子的次数不大于1 输入格式  一个整数,表示n 输出格式  输出一行,包含一个整数p。 样例输入 1000 样例输出 10 数据规模和约定  n<=10^...
  • 求合数的所有素因子唯一分解定理对正整数N,存在唯一的排列\(\{p_1,p_2,....\}\)使得\(N = \{p_1^{e_1}*p_2^{e_2}*...*p_k^{e_k}\}\)其中{p_1 < p_2 < p_3 < ... < p_n} ,{p_i}是素数求合数N的分解:先...
  • 整数的最大质因子

    2019-10-07 13:04:24
    对于给定的字符序列,从左至右将所有的数字字符取出拼接成一个无符号整数(字符序列长度小于100,拼接出的整数小于2^31,),计算并输出该整数的最大素因子(如果是素数,则其最大因子为自身) 输入描述: 有多组...
  • 筛选法 求出n以内的素数,最快的应该是筛选法。...取出下一个幸存的数,划掉它的所有倍数;直到所有素数找完为止。 这种做法的空间复杂度是O(n),时间复杂度O(n/logn)。 1 const int M...
  • 过去被认为是纯粹数学的,是专门研究整数的性质,正整数按乘法性质划分,可以分成“素数”,“合数”,“1”,素数产生了很多一般人也能理解而又悬而未解的问题,如哥德巴赫猜想。很多问题虽然形式上十分初等,但...
  • 一个整数的所有因子乘积

    千次阅读 2012-11-10 23:23:25
    整数n = p1^e1 * p2^e2 * p3^e3 (素因子乘积形式, p?代表素数 ) 则n因子数SumFactor = ( 1 + e1 ) * ( 1 + e2 ) * ( 1 + e3 ) n任何一个因子可以表示为 p1^x1 * p2^x2 * p3^x3 将所有因子分类 p1^0...
  • 将一个大整数分解成多个质数的乘积,具体请搜索数论——正整数的唯一分解定理。 解法1(素数筛选和匹配) 筛选法的思路是建议一个大小为maxn的素数表,假定初始全是素数,然后逐个划掉,即1不是素数,花掉;2是素数...
  • 筛选法   求出n以内的素数,最快的应该是筛选法。  筛选法的思路是:  要求10000以内的素数...取出下一个幸存的数,划掉它的所有倍数;直到所有素数找完为止。 这种做法的空间复杂度是O(n),时间复杂度O(n/logn)。
  • 问题描述 给定一个正整数n,求一个正整数p,满足p仅包含n的所有素因子,且每个素...求出这个正整数的所有素因子,重复的素因子只算做一个,然后相乘 import java.util.Scanner; public class 素因子去重 { public
  • 题目大意:给出一个数字m,求满足m = a^3 + b^3(a,b为正整数的所有整数对。 题目思路: 已知 m =a3+b3=(a+b)(a2−a∗b+b2) ① 设 t = a + b; ② ②代入①,因为 m = (a+b)((a+b)2−3∗a∗b) 可得,n = a...
  • 素因子去重

    2021-03-04 19:37:15
     给定一个正整数n,求一个正整数p,满足p仅包含n的所有素因子,且每个素因子的次数不大于1 输入格式  一个整数,表示n 输出格式  输出一行,包含一个整数p。 package c算法训练1; import java.util.HashSet; ...
  •  给定一个正整数n,求一个正整数p,满足p仅包含n的所有素因子,且每个素因子的次数不大于1 输入格式  一个整数,表示n 输出格式  输出一行,包含一个整数p。 样例输入 1000 样例输出 10 数据规模和约定 ...
  • 题目:输入一个整数N,输出N的所有最小因子,也称素因子。其中,任何一个大于1的数,都可以写成多个素数的乘积,我们把这些素数叫做这个数素因子。例如:输入:120输出:2 2 2 3 5输入:27输出:3 3 3python求解素因子...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 344
精华内容 137
关键字:

整数的所有素因子