精华内容
下载资源
问答
  • 分解因子

    2019-07-17 11:02:59
    分解因子 题目: 输入自然数n,将n分解为质因子连乘的形式输出。Eg:756=22333*7. 代码: #include <stdio.h> int main() { int n,k=2,first=1; printf("请输入一个自然数:\n"); scanf("%d",&n...

    分解因子

    题目:

    输入自然数n,将n分解为质因子连乘的形式输出。Eg:756=2 * 2 * 3 * 3 * 3 * 7.

    代码:

    #include <stdio.h>
    int main()
    {
      int n,k=2,first=1;
      printf("请输入一个自然数:\n");
      scanf("%d",&n);
      while(k<=n)
      if(n%k==0)
      {
        if(first)
        {
          printf("该自然数的分解质因子为:\n");
          printf("%d=%d",n,k);
          first=0;
        }
        else printf("*%d",k);
        n/=k;
      }
      else k++;
      printf("\n");
      return 0;
    }
    
    

    编译样例:

    在这里插入图片描述

    展开全文
  • Python - 分解因子

    2019-09-09 13:29:03
    1. 素数判断 ----- 分解因子 ----- 分解质因子 2. 最大公因数(gcd) 3. 最大公因字符串 ----- 最小公因字符串 素数: #data def func1(data): if not[x for x in range(2,int(data**0.5+1)) if not data%x] ...

    1. 素数判断  -----  分解因子  -----  分解质因子

    2. 最大公因数(gcd)

    3. 最大公因字符串  -----  最小公因字符串



    素数:

    #data
    def func1(data):
        if not[x for x in range(2,int(data**0.5+1)) if not data%x] and data>1:
            return True
        else:return False
    
    #data1~data2
    def func2(data1,data2):
        assert data2>data1,"data2>data1!"
        assert data1>1,"data1>1!"
        return [x for x in range(data1,data2+1) if not[y for y in range(2,int(x**0.5+1))if not x%y]]
    
    #0~data
    def func3(data):     
        return [x for x in range(2,data)if not[y for y in range(2,int(x**0.5+1))if not x%y]]
    
    
    if __name__ == '__main__':
        print(func1(1))
        print(func2(2,100))
        print(func3(100))

    分解因子:

    def func1(data):
        return [i for i in range(1,data+1)if not data%i]
    
    if __name__ == '__main__':
        print(func1(100))

    分解质因子:

    def func2(data):
        res = []
        while data>1:
            for i in range(2,data+1):
                if not data%i:
                    data//=i
                    res.append(i)
                    break
        return res

    最大公因数(递归+迭代):

    def gcd(data1,data2):
        if not data2:return data1
        return gcd(data2,data1%data2)
    
    def gcd_2(data1,data2):
        while data2:
            temp = data2
            data2 = data1%data2
            data1 = temp
        return data1

    最大公因字符串:

    #函数嵌套
    
    def func3(a,b):
        if a+b != b+a:return ""
        def gcd(data1, data2):
            if not data2: return data1
            return gcd(data2, data1 % data2)
        return a[:gcd(len(a),len(b))]
    
    
    if __name__ == '__main__':
        print(func3("ABCABCABC","ABCABC"))
    
    
    ###############
    #ABC

    最小公因字符串:

    def func4(a,b):
        aa = bb = ""
        for i in range(1,len(a)):
            if (len(a)//i)*a[:i]==a:
                aa = a[:i]
        for i in range(1,len(b)):
            if (len(b)//i)*b[:i]==b:
                bb = b[:i]
        if aa==bb:return aa
        else:return ""
    
    if __name__=="__main__":
        print(func4("ABCABCABC","ABCABC"))
    
    #############
    #ABC
    展开全文
  • C算法分解质因数与分解因子

    千次阅读 2016-08-15 17:38:31
    //打印因子int Print_yinzi(int num){ int i ; for(i = 1 ; i num / 2 ; i++) { if(num % i == 0) { printf("%d ",i); } } return 0 ;}//分解质因数int Print_zhiyinshu(int
    //打印因子
    int Print_yinzi(int num)
    {
        int i ;
        for(i = 1 ; i <= num / 2 ; i++)
        {
            if(num % i == 0)
            {
                printf("%d ",i);
            }
        }
        return 0 ;
    }
    //分解质因数
    int Print_zhiyinshu(int num)
    {
        int i ;
        for(i = 2 ; i <= num ; num % i == 0 ? num /= i:++i)
        {
            if(num % i == 0)
                printf("%d ",i);
        }
    }
    展开全文
  • uva 993 Product of digits ...解题思路:简单的分解因子。要注意的地方有两点:1) 因子从9开始向2遍历,可以保证位数最小; 2)当N等于1是最好特殊处理。 #include #include #include #include using

                            uva 993 Product of digits



    题目大意:给定一个数N,要求出一个数,使得这个数的每一位相乘会等于N,且这个数的值最小。

    解题思路:简单的分解因子。要注意的地方有两点:1) 因子从9开始向2遍历,可以保证位数最小; 2)当N等于1是最好特殊处理。



    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    #include<algorithm>
    using namespace std;
    int n, dig[100000];
    int main() {
    	int T;
    	scanf("%d", &T);
    	while (T--) {
    		scanf("%d", &n);
    		int flag = 0, cnt = 9, cnt2 = 0;
    		if (n == 1) {
    			printf("1\n");
    			continue;
    		}
    		while (n != 1) {
    			if (cnt == 2 && n % cnt != 0) {
    				flag = 0;
    				break;
    			}
    
    			if (n % cnt != 0) {
    				cnt--;
    			}
    			else {
    				flag = 1;
    				n /= cnt;
    				dig[cnt2++] = cnt;
    				cnt = 9;
    			}
    		}
    		if (!flag)	 printf("-1\n");
    		else {
    			for (int i = cnt2 - 1; i >= 0; i--) {
    				printf("%d", dig[i]);
    			}
    			printf("\n");
    		}
    	}
    	return 0;
    }


    展开全文
  • import java.util.ArrayList; import java.util.List; import java.util.Scanner; /** * java编程 输入任意的数(不超过1000000) ... * 输出总共有多少总分解方式,分解因子不区分排序 * example * inp...
  • 题意:  一个数分解成质因子...此题就是分解因子。主意,素数不能算,否则WA。 #include typedef long long LL; void bitsum(LL n,LL *s) { int t; while(n){ t=n%10; n/=10; *s+=t; } } int main() { LL
  • uva 993 Product of digits(分解因子

    千次阅读 2013-08-24 00:31:30
    解题思路:将正整数分解因子,注意这里要从9开始, 因为要求值最小,即对应的位数也要最小,所以分解的的因子要尽量最大, 但是不能超过9,10以上是两位数。 1是比较特殊的情况, 因为终止条件是n =
  • 对于系数不变而常数项会变的方程,可以用三角分解发形成系数矩阵的因子表,利用因子表可解系数矩阵不变的方程,方便快捷
  • ACM-完数(分解因子

    2015-05-27 13:31:54
    一个数如果恰好等于不等于它本身的所有因子之和,那么这个数就被称为"完数"。例如,6的因子为1,2,3,而6=1+2+3,因此,6是完数。要求给定一个整数n,请编写程序,确定n是否是完数。 输入每组数据输入一个n(1 当n为-1...
  • 题目大意:给你一个数,要求你写出他的所有因子 解题思路:常规for虚幻会爆,所以将其想象成求素数的方式,因为每个因子都是素数,这样的话,时间就节省了很多了 #include #include #include using namespace std; ...
  • uva 10879 Code Refactoring(分解因子

    千次阅读 2013-07-26 15:51:06
    题目大意:给出一个数,求它的两种因子分解。 解题思路:水的要死,直接暴力,输出两组后就可以结束了。 #include #include int main(){ int n; scanf("%d", &n); for (int ti = 1; ti ; ti++){ int ...
  • uva 10791 - Minimum Sum LCM(分解因子

    千次阅读 2013-10-24 08:41:54
    题目大意:给出一个n,将n分解成n = p1 ^ k1 * p2 ^ k2 * ... * pm ^ km,然后求解sum = ∑(1≤i≤m)pi ^ ki. 解题思路:比较费解的是n本身就是素数,那么n应该分解成n^ 1 + 1 ^ 1,所以sum= n + 1,还有一种就是n ...
  • 思路:用miller_rabin判断素数,pollardRho用于整数因子分解。整数因子分解还有一个更快的算法:SQUFOF。#include#include#include#include#include#define time 8#define call 200using namespace std;__in
  • 题目大意:将一个数分解成最小的因子。 解题思路:i= 2,到i 遍历,有因子n= n / i;若遍历后n != 1,要再输出n; #include #define N 1000000 int main(){ long long n; while (scanf("%lld", &n), n > 0...
  • 其实直接从9开始分解因子就可以了。。我还先分解成质因子了在去组合- - 2B了。没考虑清楚就直接开始写的后果。。还好这题写的还不算太长 #include #include #include #include #include using ...
  • 分解成质因子,储存在数组里面,在对bas做多次分解,直到数组中的元素小于0. #include #include #include #define N 10000 int num[N]; int count_digit(int n, int bas){ double sum = 0; for (int i = 1...
  • 因子分解

    2020-05-18 06:04:09
    输入一个数,输出其素因子分解表达式。 输入 输入一个整数 n (2 <= n < 100)。 输出 输出该整数的因子分解表达式。 表达式中各个素数从小到大排列。 如果该整数可以分解因子a的b次方,当b大于1时,写做 a^b ...
  • 整数因子分解

    2012-03-14 17:34:05
    整数因子分解统计能分解的个数 C++写的源码 欢迎下载
  • 整数因子分解问题 算法设计思路: n=x1*x2*x3*…*xm,分治思想设计(分解过程): n=x1*(x2*x3*…*xm);...可以求出所有分解因子个数。 复杂性: 当n非素数时T(n)=O(logn); 当n是素数时T(n)=O(n); 所以T(n)=O(n)
  • 因子分解

    2017-04-02 16:00:04
    这篇记录《算法笔记》中质因子分解的相关内容,包括: 1. 质因子分解 2. 求一个正整数N的因子个数 3. 求一个正整数N的所有因子的和
  • 分解因子

    2018-04-12 10:50:46
    =65535),请编写一个程序,将x分解为若干个素数的乘积。 Input 输入的第一行含一个正整数k (1&lt;=k&lt;=10),表示测试例的个数,后面紧接着k行,每行对应一个测试例,包含一个正整数x。 Output 每个...
  • 因子分解算法

    千次阅读 2017-10-11 20:29:27
    分解任意的整数n时,我们自然要寻找n的一个非平凡因子,如要把n分解为素数乘积,可以先用随机素性检测法进行测试,再对不是素数的因子进一步的分解
  • 分解因子

    2018-01-07 19:46:41
    分解因子 时间限制: 1 Sec 内存限制: 128 MB 题目描述 将一个正整数分解质因数,例如,输入90,输出2 3 3 5。 输入 输入一个正整数n(2 输出 从小到大输出n的所有质因子,每两个数...
  • 图论——因子分解

    千次阅读 2019-05-28 14:29:32
    因子分解相关概念 1、因子分解是图分解的一种方法 2、图G的因子GiG_iGi​,指至少包含G的一条边的生成子图 (生成子图:包含原图所有顶点,边不管,若边数为m,则不同的生成子图有2m2^m2m个,不同的生成子图≠...
  • 9718整数因子分解

    2013-10-19 19:26:52
    9718 整数因子分解 时间限制:1000MS 内存限制:1000K 提交次数:0 通过次数:0 题型: 编程题 语言: 无限制 Description 大于1的正整数 n 都可以分解为 n = x1 * x2 * ... * xm 例如:当n=12时,共有8种不同的分解...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 57,347
精华内容 22,938
关键字:

如何分解因子