📅  最后修改于: 2023-12-03 15:14:04.731000             🧑  作者: Mango
本文介绍了一个用C++编写的程序,用于检查给定数字的所有旋转是否大于或等于给定数字。程序使用了字符串和循环的操作来实现这个功能。
下面是用C++编写的检查旋转数字的函数:
#include <iostream>
#include <string>
bool checkRotationGreaterOrEqual(int num) {
// 将给定数字转换为字符串
std::string numStr = std::to_string(num);
// 循环遍历字符串
for (int i = 0; i < numStr.length(); i++) {
// 将字符串的第一个字符移到末尾
char firstChar = numStr[0];
numStr = numStr.substr(1) + firstChar;
// 将新的字符串转换为数字
int rotatedNum = std::stoi(numStr);
// 比较新数字与给定数字
if (rotatedNum < num) {
return false;
}
}
return true;
}
int main() {
// 测试函数
int num = 12345;
if (checkRotationGreaterOrEqual(num)) {
std::cout << "所有旋转数字均大于或等于给定数字" << std::endl;
} else {
std::cout << "存在旋转数字小于给定数字" << std::endl;
}
return 0;
}
int num = 12345;
if (checkRotationGreaterOrEqual(num)) {
std::cout << "所有旋转数字均大于或等于给定数字" << std::endl;
} else {
std::cout << "存在旋转数字小于给定数字" << std::endl;
}
如果给定数字为 12345,则其所有旋转数字为 12345、23451、34512、45123、51234。由于这些数字均大于或等于给定数字,所以程序会输出 "所有旋转数字均大于或等于给定数字"。