當前位置:首頁 » 編程語言 » C語言整數質因子
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

C語言整數質因子

發布時間: 2022-08-30 13:27:36

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);
}