不知道哪里错了
  • 板块学术版
  • 楼主Titanfall
  • 当前回复5
  • 已保存回复5
  • 发布时间2022/2/24 15:09
  • 上次更新2023/10/28 07:50:54
查看原帖
不知道哪里错了
638281
Titanfall楼主2022/2/24 15:09

第2题 幸运上升数 一个正整数,如果它的各位数字从高位到低位是严格上升的,那么这个正整数就是“上升数”,例如: 1235是“上升数”,24569是“上升数”,3也是“上升数”,但是556不是“上升数”,5478也不是“上升数”。

如果一个“上升数”含有数字6,那么这个“上升数”就是“幸运上升数”,例如:1367是“幸运上升数”, 6是“幸运上升数”, 666不是“幸运上升数”,137也不是“幸运上升数”。

现在给出n个正整数,求有多少个“幸运上升数”。

输入格式 第一行,一个整数n。 1<=n<= 1000。

第二行,n个正整数,每个正整数不超过1000000000。

输出格式 一个整数。

输入/输出例子1 输入:

5

666 1367 966 16 159

输出:

2

#include<bits/stdc++.h>
using namespace std;
long long a[10005], b, c, d, n, t, sum, s;
int main() {
    cin >> n;
    for(int i = 1; i <= n; i++) cin >> a[i];
    for(int i = 1; i <= n; i++) {
        t = a[i];
        while(t > 0) {
            b = t % 10;
            t /= 10;
            c = t % 10;
            t /= 10;
            if(b == 6 || c == 6) {
                sum++;
                s = 1;
            }
            if(b <= c && s == 1)  {
                sum--;
                break;
            }
        }
        b = 0, c = 0, t = 0, s = 0;
    }
    cout << sum;
    return 0;
}
2022/2/24 15:09
加载中...