- /*
- * File Name: FactorDecomposition.c
- * Author: MH
- * Since 2011/05/23
- * Toolkit: Dev C++
- */
- # include <stdlib.h>
- # include <stdio.h>
- # include <math.h>
- int isprime(int);
- void factor(int);
- int main(){
- int input;
- while(1){
- printf("Please input an integer :\n");
- scanf("%d", &input);
- if (input <= 1)
- printf("\ninput must larger than 1\n\n");
- else if(isprime(input)==0){ // input is not a prime number
- printf("\n%d is not a prime\n\n", input);
- printf("%d's factor are :\n", input);
- prime(input);
- printf("\n\n");
- }
- else // input is a prime number
- printf("\n%d is a prime number\n\n", input);
- system("PAUSE");
- system("CLS");
- }
- return 0;
- }
- // check if input is a prime number or not
- int isprime(int input){
- int i, first=1;
- for(i=2; i<=sqrt(input); i++){
- if(input%i==0){ // not a prime number
- return 0;
- }
- }
- return 1;
- }
- // find all the factors
- void factor(int input){
- int i;
- for(i=1; i<=input; i++){
- if(input%i==0){ // i is a factor of input
- printf("%d ", i);
- }
- }
- }
搜尋此網誌
[C/C++][判斷質數與因數分解]
之前做過判斷質數與質因數分解的程式,那如果不是要列出質因數,而是要列出因數呢?那就更簡單了,把prime()裡的改一改就好了,只要整除就是因數
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言