C++ 求小程序
问题:输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2,2,2,3,,5.求C++程序,万分感谢!先求出输入整数的所有因子,然后输出这些因子中的所有素数...
问题:输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2,2,2,3,,5.
求C++程序,万分感谢!
先求出输入整数的所有因子,然后输出这些因子中的所有素数。 展开
求C++程序,万分感谢!
先求出输入整数的所有因子,然后输出这些因子中的所有素数。 展开
4个回答
展开全部
#include<iostream>
using namespace std;
bool sushu(int);//判断一个数是否是素数的函数
void main(){
int n;
cout<<"请输入一个整数:"<<endl;
cin>>n;
cout<<n<<"的素数因子有: ";
for(int i=2;i<=n;i++){
if(sushu(i)&&n%i==0&&(n/i)%i!=0)
cout<<i<<" ";
else if(sushu(i)&&n%i==0&&(n/i)%i==0){
cout<<i<<" ";
n=n/i;
i--;
}
else
continue;
}
cout<<endl;
}
bool sushu(int n){
for(int i=2;i<=n/2;i++)
if(n%i==0)
return false;
return true;
}
在vc6.0中编写及运行成功
using namespace std;
bool sushu(int);//判断一个数是否是素数的函数
void main(){
int n;
cout<<"请输入一个整数:"<<endl;
cin>>n;
cout<<n<<"的素数因子有: ";
for(int i=2;i<=n;i++){
if(sushu(i)&&n%i==0&&(n/i)%i!=0)
cout<<i<<" ";
else if(sushu(i)&&n%i==0&&(n/i)%i==0){
cout<<i<<" ";
n=n/i;
i--;
}
else
continue;
}
cout<<endl;
}
bool sushu(int n){
for(int i=2;i<=n/2;i++)
if(n%i==0)
return false;
return true;
}
在vc6.0中编写及运行成功
展开全部
还是不太明白 什么事素数因子啊?
是不是 如果输入120 那么 就输出 小于120的所有素数啊?
是不是 如果输入120 那么 就输出 小于120的所有素数啊?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#include<math.h>
void main()
{
int n,i;
scanf("%d",&n);
for(i = 2; i < sqrt(n); i++)
{
while(n % i == 0)
{
printf("%d ",i);
n /= i;
}
}
printf("%d ",n);
}
#include<math.h>
void main()
{
int n,i;
scanf("%d",&n);
for(i = 2; i < sqrt(n); i++)
{
while(n % i == 0)
{
printf("%d ",i);
n /= i;
}
}
printf("%d ",n);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(int i = 2; i < num/2;i++){
if (num % i == 0) {
boolean isPrime = true;
for (int j = 2; j < sqrt(i); j++) {
if (i == j) {
continue;
}
if (i % 2 != 0) {
continue;
} else {
isPrime = false;
break;
}
}
if(isPrime){
printf("%d", i);
}
}
}
根据补充修改的
if (num % i == 0) {
boolean isPrime = true;
for (int j = 2; j < sqrt(i); j++) {
if (i == j) {
continue;
}
if (i % 2 != 0) {
continue;
} else {
isPrime = false;
break;
}
}
if(isPrime){
printf("%d", i);
}
}
}
根据补充修改的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询