首页 > 代码库 > 算法15---数论6---素数,回文素数 分解质因素

算法15---数论6---素数,回文素数 分解质因素

算法15---数论6---素数,回文素数  分解质因素

 

 1 /* 2     题目:素数,回文素数 3     author taoliu——alex  2016.10   number4 4  5     主要实现: 6     判断素数,判断回文素数 7 */ 8  9 10 11 #include <stdio.h>12 #include <math.h>13 14 15 16 //素数17 18 19 int isprime(int a)20 {21     for (int i = 2; i < a; i++)22     {23         if (a%i==0)24         {25             return 0;26         }27 28     }29     return 1;30 }31 32 33 34 //判断素数,判断回文素数35 int huiwen(int n)36 {37     int count=0 ;//判断n的位数38     int k=1;39     int sum,num;40     while(k>0)41     {42         k=n-(int)pow(10,count);43         count++;44     }45     int weishu=count-1;46     for (int i = 0; i < weishu; i++)47     {48         int temp=num%10;49         sum=sum+temp*((int)pow(10,weishu-1-i));50         num=(num-temp)/10;51     }52     int t=sum;53     if (t==n)54     {55         if (isprime(n))56         {57             return 1;58         }59         else60             return 0;61     }62     else63         return 0;64 }65 66 67 68 //平方回文素数69 int pingfanghuiwen(int n)70 {71     int m=huiwen(n*n);72     if (m==1)73     {74         return 1;75     }76     else77         return 0;78 }79 80 int main()81 {82     printf("please input the data you want to judge\n");83     int judge;84     scanf("%d",&judge);85     //剩下的就是判断了,就不多说了;86     return 0;87 }

 

 

 1 /* 2     题目:分解质因子 3     author taoliu——alex  2016.10   number4 4  5 */ 6  7  8 #include <stdio.h> 9 #include <math.h>10 11 12 13 //素数14 15 16 int isprime(int a)17 {18     for (int i = 2; i < a; i++)19     {20         if (a%i==0)21         {22             return 0;23         }24 25     }26     return 1;27 }28 29 30 31 void primerfactor(int n)32 {33     int i;34     if (isprime(n))35     {36         printf("%d\n", n);37     }38     else39     {40         for ( i = 2; i <n; i++)41         {42             if (n%i==0)43             {44                 printf("%d *",i);45                 if (isprime(n/i))46                 {47                     printf("%d\n",n/i);48                     break;49                 }50                 else51                     primerfactor(n/i);52                 break;53             }54         }55     }56 }57 58 int main()59 {60     int n;61     printf("please input a number \n");62     scanf("%d",&n);63     printf("n=%d\n",n );64     printf("the factor is \n");65     primerfactor(n);66     return 0;67 }

 

算法15---数论6---素数,回文素数 分解质因素