4022回文素数

#include<math.h>
#include<stdio.h>
int main()
{
    
    
	int fun1(int x);
	int fun2(int x); //定义fun1 判断回文数,fun2 判断素数
	int i,time, temp;
	time=0;//time表示回文素数的个数,初始化time=0
	
	while(scanf("%d",&temp))
	{
    
    
		if(temp==-1) break;
		if(fun1(temp)==1 && fun2(temp)==1)
			time++;
	}
	printf("%d",time);
	return 0;
}

int fun2(int x)
{
    
    
	int i;
	if(x<2)
		return 0;
	for(i=2;i*i<=x;i++)
	{
    
    
		if(x%i==0)
			return 0;
	}
	return 1;
}



int fun1(int x)
{
    
    
	int i,sum,temp;
	sum=0;
	temp=x; //方便让后面x回归原来的值

	while(x)
	{
    
    
		i=x%10;
		sum=sum*10+i;
		x=x/10;
	}
	if(sum==temp)
		return 1;   //是回文数 返回1
	else
		return 0;   //不是回文数,返回0
}

while 里面嵌套scanf的用法平时遇到的比较少

while(scanf())嵌套的作用是实现一串数的输入,配合if 的条件使用可以达到当输入某一特定的值之后停止输入的作用

fun1 判断一个数是否为回文数的函数
fun2 判断一个数是否为素数的函数

以上两个常用函数——全文背诵

猜你喜欢

转载自blog.csdn.net/qq_51333166/article/details/113847636