C++题解
2025-04-26 17:47:28
发布于:四川
1阅读
0回复
0点赞
买凤梨1
这道题目要求我们从给定的n个风梨中,统计出满足以下两个条件的风梨数量:
- 重量在 到 之间(包括 和 )。
- 重量是一个回文数。
解决思路
- 输入处理:首先读取整数n,表示风梨的数量,然后读取n个风梨的重量。
- 条件判断:对于每个风梨的重量,检查是否满足:
- 重量在 到 之间。
- 重量是回文数。
- 统计结果:统计满足上述条件的风梨数量,并输出结果。
解决代码
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool isPalindrome(int num) {
if (num < 10) return true; // 一位数都是回文数
string s = to_string(num);
string rev = s;
reverse(rev.begin(), rev.end());
return s == rev;
}
int main() {
int n;
cin >> n;
vector<int> weights(n);
for (int i = 0; i < n; ++i) {
cin >> weights[i];
}
int count = 0;
for (int weight : weights) {
if (weight >= 500 && weight <= 10000 && isPalindrome(weight)) {
count++;
}
}
cout << count << endl;
return 0;
}
代码解释
- 函数
isPalindrome
:判断一个数字是否是回文数。- 将数字转换为字符串,反转后与原字符串比较,如果相同则是回文数。
- 主函数
main
:- 读取风梨的数量n和每个风梨的重量。
- 遍历所有重量,检查是否满足条件(重量在 到 之间且是回文数)。
- 统计满足条件的风梨数量并输出。
这样就能高效地统计出最多可以买回多少个好的风梨。
这里空空如也
有帮助,赞一个