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

Posted taoliu_alex

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法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         else
60             return 0;
61     }
62     else
63         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     else
77         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     else
39     {
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                 else
51                     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---素数,回文素数 分解质因素的主要内容,如果未能解决你的问题,请参考以下文章

JAVA分解质因子

数论--素数

质因子分解

数论——素数筛选法与整数的素因子分解

数论知识

Codeforces 396A 数论,组合数学