1. c语言如何将一个正整数分解成质因数
#include<stdio.h>
voidmain()
{
inta,n;
scanf("%d",&n);
printf("n=");
for(a=2;a<=n;a++)
if(n%a==0)
{n/=a;
printf("%d",a);
printf("*");
a=1;}
}
输入编码即可。
2. c语言将一个正整数分解质因数,望高手帮我详细解释一下程序
1、首先打开vc6.0, 新建一个vc项目,添加头文件。
3. C语言 求质因子
#include <stdio.h>
main()
{
int issushu(int);
int m,i;
printf("Please input a number(>0): ");
scanf("%d",&m);
printf("\nThe all Prime factors are: \n");
for(i=1;i<m;i++)
if(0==m%i)
if(issushu(i))
printf("%d ",i);
return 0;
}
int issushu(int n)
{
int i;
if(n<2) return 0;
if(n==2) return 1;
if(n>2 && n%2==0) return 0;
for(i=3;i*i<=n;i+=2)
if(n%i==0) return 0;
return 1;
}
4. C语言:求一个整数的质因子(要求在图片上),咋写
代码文本:
#include "stdio.h"
int IsPrime(int n){//素数判断
int i;
if(n>2 && !(n&1) || n<2)
return 0;
for(i=3;i*i<=n;i+=2)
if(!(n%i))
return 0;
return 1;
}
int main(int argc,char *argv[]){
int n,i;
printf("Enter n(int n>1 and not a prime)... n=");
if(scanf("%d",&n) && n>1 && !IsPrime(n)){
putchar(' ');
for(i=2;i<=n;i++)
if(IsPrime(i) && n%i==0){
printf(i!=n ? "%d " : "%d ",i);
n/=i;
i=1;
}
}
else
printf("Input error, exit... ");
return 0;
}
5. C语言,求一个整数的所有质因子。。谢谢大神,我是C语言小白。。
测试结果:
请输入一个数N,N的所有质数因子:
520
2 5 13
源代码:
#include "stdio.h"
#include "conio.h"
int isShuShu(int n)
{
int i;
for(i=2;i<=n/2;i++)
{
if(n%i==0)
return 0;
}
return 1;
}
main()
{
int i;
int n=0;
printf("请输入一个数N,N的所有质数因子:\n");
scanf("%d",&n);
for(i=2;i<=n/2;i++)
{
if(n%i==0&&isShuShu(i))
{
printf("%3d ",i);
}
}
getch();
}
思路:
一个函数isShuSHU()用来判断给定 的数是否是素数
从1到n的一般,一个一个排查,看那些数能整除N,且是素数。输出即可
6. c语言编程:求一个数的质因子
#include<stdio.h>
intmain()
{
inti,j,a[999999],x,y;
scanf("%d",&x);//读取
y=x;
for(i=2,j=0;i<=x;i++)//遍历质因数
{
if(x%i==0)//如果读取的数能够被质因数整除
{
a[j]=i;//将符合条件的质因数存到数组中
j++;//数组下标递增
x/=i;//重新赋值
i=2;//重新遍历
}
}
printf("%d=%d",y,a[0]);//输出原数、等号、第一个质因数
for(i=1;i<j;i++)
printf("×%d",a[i]);//如果存在第二个质因数,则继续输出
return0;
}
7. C语言编写程序,输入一个整数,输出所有质因数。要求判断质数过程用一个函数实现。求大佬指正我的程序
#include<stdio.h>
#include<cmath>
int fx(int n)
{ if(n<2)return 0;
if(n==2)return 1;
int m=int(sqrt(n));
for(int i=2;i<=m;++i){
if(n%i==0)return 0;
}
return 1;
}
#include<stdlib.h>
int main()
{
int k,a;
printf("请输入一个整数");
scanf("%d",&k);
if(k<2&&k>10000)
{printf("error");
exit(0);
}
printf("此整数的质因子为:");
for(a=2;a<k;a++)
{
if(k%a==0 && fx(a))printf("%d ",a);
}
}
8. c语言,输入一个正整数,将这个正整数分解质因数
具体如下:
#include<stdio.h>
void main()
{int i,n;
printf("input the n:");
scanf("%d",&n);
printf("%d=",n);
for(i=2;i<n;)
{if(n%i==0)
{printf("%d*",i);
n=n/i;}
else i++;
}printf("%d",n);
}