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

蓝桥杯真题——三角回文数(C语言)

问题描述

对于正整数 n, 如果存在正整数 k 使得 n=1+2+3+⋯+k=k(k+1)2n=1+2+3+⋯+k=k(k+1)/2​, 则 n 称为三角数。例如, 66066 是一个三角数, 因为 66066=1+2+3+⋯+36366066=1+2+3+⋯+363 。 如果一个整数从左到右读出所有数位上的数字, 与从右到左读出所有数位 上的数字是一样的, 则称这个数为回文数。例如, 66066 是一个回文数, 8778 也是一个回文数。 如果一个整数 nn 既是三角数又是回文数, 我们称它为三角回文数。例如 66066 是三角回文数。 请问, 第一个大于 20220514 的三角回文数是多少?

答案提交

这是一道结果填空的题, 你只需要算出结果后提交即可。本题的结果为一 个整数, 在提交答案时只填写这个整数, 填写多余的内容将无法得分。

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 256M

解法代码

#include <stdio.h>  // 包含标准输入输出库  
#include <stdlib.h> // 代码中未使用int main()  
{  int x = 0; // 初始化累加和x为0  // 使用for循环进行无限迭代,i从1开始,每次循环i增加1  for (int i = 1;; i++)  {  x += i; // 将当前的i值累加到x上  // 检查累加和x是否大于20220514  if (x > 20220514)  {  int a = x; // 复制x的值到a,以便在不修改x的情况下进行反转操作  int b = 0; // 初始化b为0,用于存储a(即x)的反转数字  // 使用while循环反转a的数字,并累加到b上  while (a != 0)  {  b = b * 10 + a % 10; // 将a的最后一位数字加到b上,并移动b的小数点一位  a = a / 10;          // 移除a的最后一位数字  }  // 检查反转后的数字b是否与原始数字x相等(即检查x是否为回文数)  if (b == x)  {  printf("%d\n", x); // 如果x是回文数,则打印x  break;             // 并跳出循环(因为已经找到了第一个符合条件的回文数)  }  }  }  return 0; // 程序正常结束  
}

运行结果

http://www.lryc.cn/news/478035.html

相关文章:

  • uni-app 封装图表功能
  • Kubernetes的基本构建块和最小可调度单元pod-0
  • QT创建按钮篇
  • 初级软件测试工程师就别出口喊15K了,连自动化测试都不会,还不如应届生
  • Mybatis查询数据库,返回List集合,集合元素也是List。
  • SQL 视图:概念、应用与最佳实践
  • ubuntu交叉编译expat库给arm平台使用
  • 成都郝蓉宜恺文化传媒有限公司以诚信经营赢得客户长期信赖
  • LabVIEW for Linux 介绍
  • 一次32bit有符号数据类型转换为64bit无符号数据类型引发的溢出错误
  • aosp安卓15新特性dump的wms窗口层级树优化的更加美观
  • git的使用、router和route的区别以及v-show和v-if的差别
  • Win系统通过命令行查看笔记本电池损耗/寿命/健康
  • 【安当产品应用案例100集】029-使用安全芯片保护设备核心业务逻辑
  • Redis高级篇之缓存一致性详细教程
  • C++ 文件操作详解
  • 计算机网络:网络层 —— 边界网关协议 BGP
  • Python数据可视化seaborn
  • Java继承练习
  • Excel怎么转换成word?分享两种方法!
  • nignx代理获取真实地址request.getRequestURL()
  • 登录注册窗口(二)
  • go channel 通道
  • 论文阅读:Computational Long Exposure Mobile Photography (二)
  • 基于SSM+小程序的高校寻物平台管理系统(失物1)
  • gerrit 搭建遇到的问题
  • UBUNTU查看CPU核心数
  • 【JS】声明提升与块级作用域
  • Flink的流、批处理
  • 学习方法该升级了,‌AI时代的弯道超车:【心流学习法】行动与意识合一的巅峰进化