C++ 题目8:判断二位组合是否相等 从键盘输入一个4位数字,将前2位和后2位分别组成2个新数字,并判断这两个新数字是否相等,相等则输出“equal”,否则输出“not equal”。例如:键盘输入1234,新数字为:12和34,输出结果为:not equal。
时间: 2024-04-08 20:33:49 浏览: 37
可以使用以下的C++代码来解决这个问题:
```cpp
#include <iostream>
using namespace std;
int main() {
int num;
cout << "请输入一个4位数字: ";
cin >> num;
int firstPart = num / 100; // 取前2位数字
int secondPart = num % 100; // 取后2位数字
if (firstPart == secondPart) {
cout << "equal" << endl;
} else {
cout << "not equal" << endl;
}
return 0;
}
```
这段代码首先从键盘输入一个4位数字,并使用除法和取模运算将其分成两个2位数字。然后,通过比较这两个数字是否相等,来判断是否输出"equal"还是"not equal"。
相关问题
F 找亲戚 时间限制:1.00s内存限制:32.00MB 题目背景 数字王国中,数字们也有亲戚关系。有一个1位数x,他想找到自己的亲戚,他是这样判断对方是不是自己的亲戚的,如果对方的那个数的各个位中含有和自己一样的数,就认为对方是自己的亲戚。比如:3和635就算亲戚,因为635中有数字3。 请从键盘读入一个一位的整数x,找出从m~n中有多少个数是x的亲戚。 输入格式 第一行,一个一位整数x(x是1~9之间的整数) 第二行,两个整数m和n(m和n也是0~9999之间的整数,且m<=n) 输出格式 一个整数,代表x的亲戚有多少个数。
题目分析:
题目要求从区间 $[m,n]$ 中找出有多少个数是 $x$ 的亲戚,即这些数的各个位中含有和 $x$ 一样的数。我们可以遍历区间 $[m,n]$ 中的每一个数,对于每一个数,将其转化为字符串,然后遍历字符串的每一位,判断是否和 $x$ 相等。如果相等,则将计数器加 $1$,并跳出内层循环。
C++ 代码实现:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
int x, m, n;
cin >> x >> m >> n;
int cnt = 0; // 计数器
for (int i = m; i <= n; i++) {
string s = to_string(i); // 将整数转化为字符串
int len = s.length();
for (int j = 0; j < len; j++) {
if (s[j] == x + '0') { // 如果该位数字和 x 相等
cnt++; // 计数器加 1
break; // 跳出内层循环
}
}
}
cout << cnt << endl;
return 0;
}
```
时间复杂度为 $O((n-m) \log n)$。
阅读全文