求一个数中所有的质数因数

#include<stdio.h>

int z(int); //判断是否为质数
int main(){

	int x; int i;
	scanf("%d",&x);
	for(i=2;i<=x;i++){ //这里的i相当于相当于 区间
		if(x%i==0){ //判断i是否为x的因数
			if(z(i)){ //判断这个数是否为质数
				printf("%d ",i);
			}
		}
	}


}
int z(int x){
	int i;

	if(x==2)return 1; //x为2的特殊情况
	for(i=2;i<x;i++){
		if(x%i==0){
			return 0;
		}
		if(i==x-1){
			return 1;
		}
	}
}
posted @ 2023-03-15 07:54  Development_UP  阅读(28)  评论(0)    收藏  举报