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

蓝桥杯刷题_day1_回文数_水仙花数_进制转换

文章目录

    • 特殊的回文数
    • 回文数
    • 水仙花数
    • 十六进制转八进制_n次

特殊的回文数

问题描述
  123321是一个非常特殊的数,它从左边读和从右边读是一样的。
  输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。

解题思路
1.将数字转化为字符串,判断这个字符串是否为回文串
2.将数字进行逆转,然后判断与原数字是否相等
3.将数字的一半进行逆转没然后判断是否与原串是否相同。

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;int palindromicNumber(int pn)
{string tmp = to_string(pn);string reverse_tmp(tmp);reverse(reverse_tmp.begin(), reverse_tmp.end());if (tmp == reverse_tmp){return 1;}else{return 0;}
}int main()
{int n = 0;cin >> n;for (int i = 10000; i <= 999999; i++){if (palindromicNumber(i)){int tmp = i;int sum = 0;while (tmp){sum = sum + tmp % 10;tmp /= 10;}if (sum == n){cout << i << endl;}}}return 0;
}

回文数

问题描述
  1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;//将数字转为字符串,之后将字符串进行逆转,然后判断两个字符串是否相同 int palindromicNumber(int pn)
{string tmp;while(pn){tmp.insert(0,1,(pn%10) + '0');pn/=10;}string reverse_tmp(tmp);reverse(reverse_tmp.begin(),reverse_tmp.end());if(reverse_tmp == tmp){return 1;}else{return 0;}
}int main()
{int i;for(i = 1000;i<= 9999;i++){if(palindromicNumber(i)){cout << i << endl;}}return 0;
}

水仙花数

问题描述
  153是一个非常特殊的数,它等于它的每位数字的立方和,即153=111+555+333。编程求所有满足这种条件的三位十进制数。

#include<iostream>
#include<string>
#include<algorithm>
#include<math.h>
using namespace std;int sameSum(int n)
{int sum = 0;int tmp = n;while(n){sum = sum + pow(n%10,3);n/=10;}if(tmp == sum){return 1;}else{return 0;}
}int main()
{int i;for(i=100;i<=999;i++){if(sameSum(i)){cout << i << endl;}}return 0;
}

十六进制转八进制_n次

问题描述
  给定n个十六进制正整数,输出它们对应的八进制数。
输入格式
  输入的第一行为一个正整数n (1<=n<=10)。
  接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。
输出格式
  输出n行,每行为输入对应的八进制正整数。
  【注意
  输入的十六进制数不会有前导0,比如012A。
  输出的八进制数也不能有前导0。

#include<iostream>
#include<string>
#include<math.h>
using namespace std;//十六进制转十进制
int hexToDec(string hex)
{int dec = 0;int pows = 0;for (int i = hex.length() - 1; i >= 0; i--){char c = hex[i];if (c >= '0' && c <= '9'){dec = (c - '0') * pow(16, pows) + dec;}else{dec = (c - 'A' + 10) * pow(16, pows) + dec;}pows++;}return dec;
}//十进制转八进制
int decToOct(int dec)
{int oct = 0;int i = 1;while (dec){oct = oct + dec % 8 * i;dec = dec / 8;i *= 10;}return oct;
}int main()
{int count = 0;cin >> count;string hex[10];for (int i = 0; i < count; i++){cin >> hex[i];}for (int i = 0; i < count; i++){int tmp = hexToDec(hex[i]);cout << decToOct(tmp) << endl;}return 0;
}
http://www.lryc.cn/news/325167.html

相关文章:

  • jmeter接口导入方式
  • 设计模式(行为型设计模式——状态模式)
  • 【Flutter学习笔记】10.3 组合实例:TurnBox
  • 性能测试入门 —— 什么是性能测试PTS?
  • 【机器学习】基于变色龙算法优化的BP神经网络分类预测(SSA-BP)
  • pytorch中tensor类型转换的几个函数
  • 深入理解Elasticsearch高效原理
  • http和socks5代理哪个隐蔽性更强?
  • 邮箱的正则表达式
  • blender插件笔记
  • 解释关系型数据库和非关系型数据库的区别
  • YAML-02-yml 配置文件 java 整合使用 yamlbeans + snakeyaml + jackson-dataformat-yaml
  • 【综述+LLMs】国内团队大语言模型综述:A Survey of Large Language Models (截止2023.11.24)
  • 开始喜欢上了runnergo,JMeter out了?
  • LLM - 大语言模型的分布式训练 概述
  • Spring Cloud Alibaba 整合Seata分布式事务
  • unity 多屏幕操作
  • 4、Jenkins持续集成-用户权限和凭证管理
  • K8s-网络原理-中篇
  • vue基础——java程序员版(vue路由)
  • 【vue3学习之路(一)】
  • 基于Spring Boot网络相册设计与实现
  • 6 Spring-AOP
  • 这回轮到鸿蒙禁用安卓了!!!
  • Java问题详解
  • Go——指针和内存逃逸
  • PTA L2-032 彩虹瓶
  • Spring和Spring Boot之间的区别
  • 海外客户获取难?海外云手机助力电商引流!
  • 什么情况下 C++ 需要垃圾处理机制?