C算法分解质因数与分解因子

//打印因子
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);
    }
}
时间: 2024-10-03 14:38:49

C算法分解质因数与分解因子的相关文章

深入分析C语言分解质因数的实现方法_C 语言

首先来看一个最简单的C语言实现质因数分解的列子: #include <stdio.h> void main( ) { int data, i = 2; scanf("%d", &data); while(data > 1) { if(data % i == 0) { printf("%d ", i); data /= i; } else i++; } } 原理&&方法把一个合数分解为若干个质因数的乘积的形式,即求质因数的过程

冒泡排序算法 递归算法,求n的阶乘 求最大公约数和最小公倍数 java分解质因数

   1.  /**     2.  * 冒泡排序算法     3.  */      4. public class BubbleSort {      5.     public static void sort(int[] values) {      6.         int temp;      7.         for (int i = 0; i < values.length; ++i) {      8.             for (int j = 0; j <

大众点评笔试算法之质因数分解

将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 代码为: // 质因数.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<cmath> #include<cstdlib> #include<iostream> using namespace std; void Analyse(int n) { //打印出 int i; for(i = 2;i <= sqrt(stat

将一个正整数分解质因数

查看全套"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的值,重复执行第一步. 2.程序源代码: #include "

Java小例子:分解质因数

这个例子演示如何利用递归来完成分解质因数. import java.util.List; import java.util.ArrayList; /** * 分解质因数 */ public class GetFactor { public static void main(String[] args) { List<Long> factors = getFactors(5555566666L, 2); System.out.println(factors); } /** * 通过递归实现分解质

excel怎么利用vbe分解质因数?

  excel怎么利用vbe分解质因数?目的:用excel自定义函数来分解质因数. 1.例如,我们要把七乐彩的字典序分解质因数. 2.进入vbe编程环境. 3.插入模块. 4.编写程序,做一个名叫"质数"的自定义函数. 5.关闭vbe,在单元格插入函数. 6.选择"用户定义",快速找到函数. 7.选定单元格,应用函数. 8.第一步计算完毕. 9.再次应用函数,第二步计算结果,也就是二次分解的结果. 10.第三步计算的结果. 11.我们知道3是质数,431还需要计算一

Java实现将一个正整数分解质因数

* 题目:将一个正整数分解质因数.例如:输入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的值,重复执行第一步. *这个题目很明显是要用递归算法来实现的,打印"*"有些技巧,但也很容易解

iostream-将一个正整数分解质因数。例如:输入 90, 打印出 90=2*3*3*5

问题描述 将一个正整数分解质因数.例如:输入 90, 打印出 90=2*3*3*5 #include using namespace std; void fnabs(int n) { int i; for(i=2;i<=n;i++) { while(n%i==0) {n/=i; cout<<"*"<<i;} } } int main() { int n; n=90; cout<<n<<"="; fnabs(n);

Factors 分解质因数

package com.yourself.yours; import java.util.Scanner; /** *************************************************************** * @author cc Factors * 分解质因数 如: 输入90 打印 90=2*3*3*5 * 分析: 对n进行分解质因数 * 1.设定最小的质数 k=2: * 2.if k==n 说明n本身就是质因数 分解过程完成 ,直接打印 * 3.if n