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