第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;
}