当前位置: 首页 > news >正文

【C语言】统计对称素数

对称素数 = 既是素数(只能被 1 和自身整除的大于 1 的整数),又是回文数(正读和反读都相同的数,如 131、151)。

实现思路

把问题拆分为两个核心子功能,再组合判断:

  1. 判断素数:排除小于 2 的数,遍历 2 到√n,判断是否能被整除;
  2. 判断回文数:将数字反转,比较反转后的数是否等于原数;
  3. 组合判断:只有同时满足 “素数” 和 “回文数”,才是对称素数。
#include <stdio.h> #include <math.h> #define _CRT_SECURE_NO_WARNINGS 1 // 判断是否为素数 bool isPrime(int n) { //小于2的数不是素数 if (n < 2) { return false; } int i = 2; // 只需遍历到√n(减少循环次数) for (i=2; i * i <= n; i++) { // 能被整除,不是素数 if (n % i == 0) { return false; } } return true; } // 判断是否为回文数(对称数) bool isPalindrome(int n) { // 负数不是回文数(对称素数只考虑正整数) if (n < 0) { return false; } int original = n; // 保存原数 int reversed = 0; // 存储反转后的数 // 反转数字 while (n > 0) { // 取最低位拼到反转数中 reversed = reversed * 10 + n % 10; // 丢弃最低位 n = n / 10; } // 反转后等于原数,就是回文数 return reversed == original; } // 判断是否为对称素数 bool isSymmetricPrime(int n) { // 必须同时满足:是素数 + 是回文数 return isPrime(n) && isPalindrome(n); } int main() { // 输出 5 位以内的全部对称素数 for (int i = 2; i < 9999; ++i) { int res = isSymmetricPrime(i); if(res) printf("%d\n",i); } return 0; }
http://www.jsqmd.com/news/482073/

相关文章:

  • 2017-2024年中国与世界各国新能源汽车进出口数据
  • 前端工程师的Agent开发实战指南I
  • 嘎嘎降AI和SpeedAI科研助手对比测评:知网检测谁更稳 - 还在做实验的师兄
  • ㋰責任 群论 体
  • 4348464
  • 从秒级到毫秒级:金仓数据库“连接条件下推“让复杂SQL性能飙升4500倍
  • 4345464
  • Java设计模式:抽象工厂与原型的区别剖析
  • 1.2 图像增强
  • c#结合vue设计表单,实现前后端结合
  • 利用c#结合keepserver读写西门子PLC的文章
  • 总论:为什么要做AICoding
  • [linux]看内存吃紧否
  • jetson_yolo_deployment 01_linux_dev_env
  • 岐金兰说致“敬”哈贝马斯 ——在算法时代重问“人的解放”
  • 【2026年最新600套毕设项目分享】springboot基于 Web的图书借阅管理信息系统(14155)
  • jetson_yolo_deployment 02_linux_dev_skills
  • jetson_yolo_deployment 03_jetson_hardware
  • 提示工程架构师视角:AI与提示工程未来的prompt架构师工作流程
  • GA-BP采用遗传算法优化BP神经网络,注意这个优化的不是超参数,而是网络内部的权重和偏置参数...
  • 镜像中的镜子:一个技术人被AI精准围猎的270天(时间虚构的故事)
  • 沃尔玛购物卡回收避坑全攻略,让闲置变现金更安心 - 京顺回收
  • JeecgBoot低代码 AI Skills 实战:一句话自动生成表单系统
  • C语言算法专题总结(一)排序
  • 三菱PLC追剪项目:与昆仑通态触摸屏的完美协作
  • 波比跳,一个动作练遍全身 75% 肌群!
  • 血泪教训!MySQL索引我踩过的5个坑(附生产级解决方案)
  • 用WDCNN实现轴承智能故障诊断:挖掘其优越抗噪能力
  • [linux]看大小
  • [docker] 开启到debug到关闭