c语言:分解质因数

原创 2016年08月30日 00:38:14
分解质因数(10分)

题目内容:

每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数。比如,6可以被分解为2x3,而24可以被分解为2x2x2x3。


现在,你的程序要读入一个[2,100000]范围内的整数,然后输出它的质因数分解式;当读到的就是素数时,输出它本身。


输入格式:

一个整数,范围在[2,100000]内。


输出格式:

形如:

n=axbxcxd

n=n

所有的符号之间都没有空格,x是小写字母x。


输入样例:

18


输出样例:

18=2x3x3


时间限制:500ms内存限制:32000kb


题目来源自mooc:c语言程序设计,仅供个人学习参考使用。

#include <stdio.h>

int is(int i){
	int ret=1;
	int j ;
	for(j=2; j<i; j++){
		if(i%j == 0){
			ret = 0;
			break;
		}
	}
	return ret;
}//判断i是否是素数 

int main(){
	int x;//记录读入的数
	int n=1;
	int i;
	scanf("%d",&x);
	printf("%d=",x);
	if(is(x)){
		printf("%d",x);
	}
	else{
		while(x != 1){
			for(i=2 ; i<=x ; i++){
			if(is(i) && x%i == 0){
					printf("%d",i);
					if(i != x ){
						printf("x");
						}
					x = x/i;
					i = 1; 
				}
			}
		
		}
	}
	return 0;
}


版权声明:私人记录自己的爱好

初级C语言算法实现分解质因数

简单算法例题,摘自C语言网,如何分解质因数。 题目: 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 程序分析: 对n进行分解质因数,应先找到一个最小的质数k,然...
  • gin1008
  • gin1008
  • 2016年10月23日 11:53
  • 4444

C语言经典算法100例-014-分解质因数

题目如下: 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。  1.分析:思路是这样的,从1到N先找出最小的质因数,如果等于本身,那么说明只有一个质因数,如果不是,那么将该质因数打...

C语言之基本算法34—分解质因数(方法一)

//矩阵基础 /* ================================================================== 题目:输入一个正整数,将其分解为质因式,如:6...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

C语言——分解质因数

C语言——分解质因数 题目出自“中国大学MOOC”翁恺老师《程序设计入门——C语言》第六周编程练习第一题 以下为原题目要求: 每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这...

c语言分解质因数

  • 2012年12月10日 19:59
  • 528B
  • 下载

分解质因数(C语言版)

  • 2009年12月13日 12:57
  • 362B
  • 下载

水仙花数&素数&质因数分解的C语言实现

最近,我翻了一下之前的C语言教材,看了三个有意思的小程序,包括:寻找“水仙花数”、判断某数是否为素数、对一个数进行质因数分解。我想把这三个东西放到一个程序中,便写下了此文。 算法步骤1. 寻找“水仙花...
  • zhouzxi
  • zhouzxi
  • 2015年04月27日 18:49
  • 1836

c语言分解质因数

  • 2015年04月09日 12:04
  • 14.73MB
  • 下载

整数分解质因数C语言实现

  • 2013年09月18日 09:58
  • 1KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c语言:分解质因数
举报原因:
原因补充:

(最多只允许输入30个字)