问题:
输出a-b间的回文素数。
思路:
- 回文素数,又是回文数又是素数,即在回文数里判断素数,或者在素数里判断回文数,若是,才进行输出。
- 回文数:我正着读和反着读都一样,如121,11,一位数都是回文数:1 2 3 4 5 6 7 8 9。因此判断的时候,给数字每位存进数组,然后定一个左指针和右指针,在该数组内每一次循环让他俩所指的值进行判断,每次循环左指针++,右移。右指针--,左移。如果他俩不相等,就不是回文数。
- 素数:除了1和它自己外,其他都不能和它整除,即没有(素数%其他!=0)不可整除,如果可以被其他整除,不是素数。因此双循环,外循环是需要判断的数,内循环是从2开始到sqrt(i),分别与外循环这个数比较。若不是有数可以整除,那么便不是素数
- 这里我是先判断的素数,之后再素数内进行判断回文的操作。
代码如下:
#include <stdio.h>
#include <malloc.h>
#include <math.h>
int main()
{
int a,b;
scanf("%d %d",&a,&b);
int i,k;
for(i=a;i<b;i++)//先判断素数,之后若是素数,再在if(sushu==1)内进行判断回文的操作
{
i