求回文数+判断回文数是否为素数

又到了每日水博客的时间,今天本来打算写一道(我觉得)巨难的题的,可是我太笨了,今天还没学会,只有等我明天继续学会了再写了。好了,言归正传,我们来看看怎么求回文数吧,这可能只是一个小知识点,但我在考试时没有把它吃透,就觉得它巨难,我们来看看吧。

回文数:就是一个对称的数,例如123的回文数即为12321,520的回文数即为52025,先用数学来解释一下12321=123*10^2+2*10^1+1*10^0,52025=520*10^2+2*10^1+5*10^0,这样看了是否有点想法了呢,这也是我做题的第一想法,不过需要套一个循环,循环每次乘一次10,我们来个例题+代码理解一下吧,代码才能直观的展现我的意思。

例题:输入一个数n,判断n的回文数是否为素数,如果是则输出isprime,如果不是则输出noprime

#include <stdio.h>
#include <math.h>
int main()
{
	long long n;
	scanf("%lld",&n);
	long long m=n/10;//因为最后那个数是不用参与计算的,我们把它去掉 
	long long a=n;
	while(m!=0){
		a=a*10+m%10;//每次循环都让a乘以10再加上下一个要乘的数 
		m=m/10;
	}               //最后a即为n的回文数 
	
//下面在判断a是否为素数,如果你只想得到n的回文数,直接输出a即可 
 
//	long long count=0;
//	double b=a;
//	for(int i=2;i<sqrt(b);i++){
//		if(a%i==0){
//			count++;
//		}
//	}
//	if(count==0){
//		printf("isprime");
//	}else{
//		printf("noprime");
//	} 
	return 0;
}

今天就是一个很简单的知识点了,希望看到的人都能及时掌握,并在未来成为超级代佬!!

最后,如有问题,欢迎指正哈~

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值