幸运上升数
一个正整数,如果它的各位数字从高位到低位是严格上升的,那么这个正整数就是“上升数”,例如: 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 n,l,k,p,ans,s[10000009],b[10000009];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)cin>>s[i];
for(int i=1;i<=n;i++)
{
int x=s[i];
for(;;)
{
l++;
b[l]=x%10;
x=x/10;
if(x==0)break;
}
for(int j=l;j>=1;j--)
{
if(b[j+1]<b[j])k++;
if(b[j]==6)p++;
}
if(k==l&&p>=1)ans++;
l=0,p=0,x=0,k=0;
memset(b,0,sizeof(b));
}
cout<<ans;
return 0;
}
寻找幸运上升数
给定一组正整数,程序需要找出其中的“幸运上升数”,即包含数字6且各位数字递增的数。程序通过遍历每个数,检查其数字顺序和是否包含6来计算结果。
1475

被折叠的 条评论
为什么被折叠?



