题目:各种号码如果最后两位数字相同则被称为 “靓号”,因为 容易记忆等原因,一般价值更高,例如 377、6088、12366 等。 现给一个整数 N (100 < N <= 100000),要统计 [100, N] 这个 区间内所有 “靓号” 的数量。 请定义一个实现该功能的 C++ 函数,该函数原型是: int digitCounts (int N); 示例 1: 输入参数:N=101 函数返回:1 示例 2: 输入参数:N=123 函数返回:3
时间: 2024-04-07 22:30:02 浏览: 11
以下是计算靓号数量的C++函数的实现:
```cpp
int digitCounts(int N) {
int count = 0;
for (int i = 100; i <= N; i++) {
int lastTwoDigits = i % 100;
int tensDigit = lastTwoDigits / 10;
int onesDigit = lastTwoDigits % 10;
if (tensDigit == onesDigit) {
count++;
}
}
return count;
}
```
你可以调用该函数,传入一个整数 N,即可计算得到在区间 [100, N] 内所有靓号的数量。
相关问题
帮我用Java编写一个应用程序。题目是:判断用户从键盘输入的三位兑奖号码是否中奖.(一等奖:三位号码相同;二等奖:顺子号,例如123,654;三等奖:两个号码相同)
好的,我可以为您编写这个应用程序。以下是Java代码:
import java.util.Scanner;
public class LotteryChecker {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入三位兑奖号码(例如123): ");
int number = input.nextInt();
int digit1 = number / 100;
int digit2 = (number % 100) / 10;
int digit3 = number % 10;
if (digit1 == digit2 && digit2 == digit3) {
System.out.println("恭喜你中了一等奖!");
} else if ((digit1 + 1 == digit2 && digit2 + 1 == digit3) || (digit1 == 9 && digit2 == 0 && digit3 == 1)) {
System.out.println("恭喜你中了二等奖!");
} else if (digit1 == digit2 || digit1 == digit3 || digit2 == digit3) {
System.out.println("恭喜你中了三等奖!");
} else {
System.out.println("很抱歉,您没有中奖。");
}
}
}
您可以运行这个程序并输入您的兑奖号码来测试是否中奖。希望对您有所帮助!
题目:100以内的回文数 描述:输出100以内的回文数及个数。 设n是一个自然数,如果n的各位数字反向排列所得自然数与n想等,则n被称为回文数 例如:1234321.12344321 要求:利用反向排列字符串的方法进行求解
可以使用字符串反转的方法来判断一个数是否为回文数。具体实现如下:
```python
count = 0 # 记录回文数个数
for i in range(1, 100):
str_i = str(i) # 将数字转化为字符串
reverse_str_i = str_i[::-1] # 字符串反转
if str_i == reverse_str_i: # 如果反转后与原字符串相等,则是回文数
print(i)
count += 1
print("100以内的回文数个数为:", count)
```
输出结果为:
```
1
2
3
4
5
6
7
8
9
11
22
33
44
55
66
77
88
99
100以内的回文数个数为: 18
```
其中 `str_i[::-1]` 表示将字符串 `str_i` 反转。