码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • C语言每日一题(19)回文素数


    牛客网 BC157 回文素数

    题目描述

    描述

    现在给出一个素数,这个素数满足两点:

    1、  只由1-9组成,并且每个数只出现一次,如13,23,1289。

    2、  位数从高到低为递减或递增,如2459,87631。

    请你判断一下,这个素数的回文数是否为素数(13的回文数是131,127的回文数是12721)。

    输入描述:

    输入只有1行。

    第1行输入一个整数t,保证t为素数。

    数据保证:9

    输出描述:

    输出一行字符串,如果t的回文数仍是素数,则输出“prime”,否则输出"noprime"。

    思路分析

    定义两个函数用来求回文数和判断素数

    回文函数:

    举个例子:

    123的回文数是12321,可以看成,1232=123*10+((123/10)%10);

    12321=1232*10+((12/10)%10);

    而循环的次数是n的单位个数-1.

    素数函数:

    从2遍历到n的平方根,如果存在n%i==0就不是素数,反之则是。

    步骤流程

    1定义所输入数n(用long long定义),定义两个函数back(求回文数)和is_prime(判断素数)

    back:

    定义变量b存入n的值,并循环b求n的单位个数,每次循环,b=b/10,计数器a+1。

    特殊情况:当a=1时,直接返回即可

    以a>1为循环条件,用一个变量d保存n的值

    每次循环:d=d*10+(n/10)%10

    n=n/10

    最后返回d。

    is_prime:

    从2遍历到n的平方根,如果有n%i==0存在就返回0(不是素数),循环完后最后返回1。

    完整代码

    1. #include <stdio.h>
    2. #include<math.h>
    3. long long back(long long n)
    4. {
    5. int a=0;
    6. long long b=n;
    7. while(b)
    8. {
    9. b=b/10;
    10. a++;
    11. }
    12. long long d=n;
    13. while(a>1) //a=1时直接返回d
    14. {
    15. d=d*10+((n/10)%10);
    16. n/=10;
    17. a--;
    18. }
    19. return d;
    20. }
    21. int is_prime(long long n)
    22. {
    23. for(int i=2;i<=sqrt(n);i++) //sqrt函数返回变量的平方根
    24. {
    25. if(n%i==0)
    26. {
    27. return 0;
    28. }
    29. }
    30. return 1;
    31. }
    32. int main() {
    33. long long n=0;
    34. scanf("%lld",&n);
    35. long long c=back(n);
    36. int q=is_prime(c);
    37. if(q==1)
    38. {
    39. printf("prime\n");
    40. }
    41. else {
    42. printf("noprime\n");
    43. }
    44. return 0;
    45. }

  • 相关阅读:
    ElasticSearch7.3学习(十五)----中文分词器(IK Analyzer)及自定义词库
    NodeList和HTMLCollection的区别
    [Linux](2)快速入门Linux基础指令
    解开C语言的秘密《关键字》(第六期)
    【剑指Offer】20.表示数值的字符串
    【从零开始学习 SystemVerilog】3.4、SystemVerilog 控制流—— case( ‘unique‘ 和 ‘priority‘)
    HTML5期末考核大作业——学生网页设计作业源码HTML+CSS+JavaScript 中华美德6页面带音乐文化
    buuctf misc [UTCTF2020]docx
    CSDN编程挑战赛第六期—参赛心得+题解
    通过Java实现双色球原理
  • 原文地址:https://blog.csdn.net/wcl312/article/details/134041575
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号