怎样用C++编写将一个整数分解质因数的程序?

怎样用C++编写将一个整数分解质因数的程序?,第1张

//貌似楼上几位都忘了重复测试i能否整除目标整数

#include <iostream>

using namespace std

void main()

{

long N,N2,i,t,count

cout<<"<因式分解>"<<endl

cout<<"本程序中N和1不视作N的因子。"<<endl

while(1){

cout<<"请输入一个正整数N:"

cin>>NN2=N

count=0t=N/2 //大于N/2的数不能成为N的因子。(本程序中N本身不算N的一个因子)

for(i=2i<=ti++){

if(N%i==0){

if (++count==1) cout<<"N="<<N<<"="

cout<<iN/=i

if(N!=1) cout<<"×"

i-- //再次测试i是否还能成为N的因子

}

if(N==1) break

}

if(count==0) cout<<N2<<"是质数。"<<endl

cout<<endl<<endl

}

}

1、首先打开vc6.0, 新建一个vc项目,添加头文件。

2、添加main主函数,如下图所示。

3、然后定义 n, i 两个变量,如下图所示。

4、接着使用scanf给n赋值,使用for循环。

5、然后用while作为内层循环,使用printf打印i。

6、最后使用if条件语句,运行程序,如下图所示,正整数分解为质因子就完成了。

输入90,打印输出90=2*3*3*5

class Program

{

static void Main(string[] args)

{

int n, i

Console.WriteLine("\nplease input a number:\n")

n=Convert.ToInt32( Console.ReadLine())

Console.WriteLine("质数分解为:")

for (i = 2i <= ni++) //循环被除数

{

while (n != i)

{

if (n % i == 0) //整除即可//质数

{

Console.WriteLine(i)

n = n / i//新的除数

}

else

break

}

}

Console.WriteLine(n)

Console.ReadLine()

}

}

Bruce

using System

class Program

{

static void Main(string[] args)

{

Console.Write("请输入一个整数:")

int num = Convert.ToInt32(Console.ReadLine())

string str = num.ToString()+"="

for (int i = 2num!=1i++)

{

while (num % i == 0)

{

str += i.ToString() + "*"

num = num / i

}

}

str=str.Substring(0, str.Length - 1)

Console.WriteLine("结果为:{0}",str)

Console.ReadLine()

}

}

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

int intnum = 90//输入的数字

bool bol = true//while循环的条件

int[] intaa = new int[intnum]//存储分解的质因数

int arrayIndex = 0//intaa的索引

bool bol1 = true//判断是否循环完毕

while (bol)//while控制整数分解质因数的整个流程

{

for (int i = 2i <= intnumi++)//分解整数循环(是一次次的分解)

{

if (i == intnum)

bol1 = false//判断是否是最后一次分解

if (intnum / i != 0)//是否除的尽

{

continue

}

else//除的尽的话

{

intaa[arrayIndex] = i//把质因数存储

arrayIndex++//存储质因数的数组下标加1

intnum = i//跟换当前intnum数,用来继续分解

break//跳出for循环

}

}

if (bol1)//如果分解完毕跳出循环

break

}

//剩下打印你自己写咯

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12068308.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存