由数学基本定理可知:任何一个大于1的非素数整数(即合数)都可以唯一分解成若干个素数的乘积。编写程序,从控制台读入一个合数(合数的大小不会超过int数据类型表示的范围),求这个合数可以分解成的素数。
#include <iostream>
using namespace std;
int main()
{
int d;
int i,j;
cin>>d;
i=2;
while(d>=i)
{
j=0;
while(d%i==0)
{
j++;
d=d/i;
}
if(j!=0)
cout<<i<<" ";
i=i+1;
}
return 0;
}
#include <iostream>
#include <stdlib.h>
#include <cstring>
#define N 20
using namespace std;
int main()
{
int num,a[N],len;//定义整数
char ch[N];//字符数组,把整数转成字符串求整数长度
cin>>num;//输入整数
itoa(num,ch,10);//整数转换成字符串
len=strlen(ch);//求出整数的长度
for (int i=len-1;i>=0;i--)//依次求出整数各位上数,赋值给数组
{
a[i]=num%10;
num/=10;
}
for (int i=0;i<len;i++)
{
cout<<a[i]<<" ";
}
return 0;
}
除特别注明外,本站所有文章均为慕白博客原创,转载请注明出处来自https://cloud.tencent.com/developer/article/1176120