今天是第一次自己写博客,而不是转载别人的,感觉有点小成就感,希望自己在以后得日子里更加努力,将很多面试题和笔试题等有思考性的题目写到博客里。
这次是输入一个整数,将其分解成质因式的乘积的形式 如12=2*2*3
首先讲解下质数的概念,质数就是只有1和其本身两个因数,这个数就是质数(素数);
思路:对输入的整数num从j=2开始到num进行一个%(求余),如果其余之后为0的话说明次数是其中一个因子,然后将其因子输出,此时进行下次循环(这时候num=num/j)直到不满足循环的条件位置。还有一种特殊的情况就是输入的整数是质数的话,需要在每次循环里进行一个判断是否j==输入的那个整数的值。
代码如下;
#include "stdafx.h"
#include<iostream>
#include<cmath>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int num,j=2;
int n;
cout<<"Please input a integer :";
cin>>num;