不是VIP会员,不能显示答案

题目解答

题目:
(波浪数)我们将一类正整数称为“波浪数”,它的每个数位上的数都大于或小于两边数位上的

数。例如,32570, 102, 747, 20和3都是波浪数:而123, 1000 和2212不是波浪数。

给你一个5位数n,请你找到最小的比n大的波浪数。输入保证$10000 \leq n \leq 99999$。 提示:

枚举每个5位波浪数和6位波浪数来找到答案。

试补全程序。

#include<bits/stdc++.h>

using namespace std;

int n;

int main()

{

int ans=___(1)___;

cin>>n;

for (int i=1; i<=9; i++)

for (int j=0; j<=9; j++)

if (j!=i)

for (int ka((i<j)?0: ___(2)___); k<=((i<j)?___(3)___:9); k++)

for (int x*=((j<k)?0:k); x<=((j<k)?k:9); x++)

if (x!=k)

for (int y=0; y<=9; y++)

if (y!=x&&k<x!=x<y)

{

int v=___(4)___;

if (v>n)

ans=min(ans,v);

}

for (int i=1; i<=9; i++)

for (int j=0; j<=9; j++)

if (j!=i)

for (int k((i<j)?:j); k<=((i<j)?j:9); k++)

if (k!=j)

for (int x=((j<k)?0:k); x<=((j<k)?k:9); x++)

if (x!=k)

for (int y=0; y<=9; y++)

if (y!=x&&k<x!=x<y)

for (int p=0; p<=9; p++)

if (p!=y&&x<y!=y<p)

{

int v=___(5)___;

if (v>n)

ans=min(ans,v);

}

cout<<ans<<endl;

}


选择题

1) ⑴处应填( )。

2) ⑵处应填( )。

3) ⑶处应填( )。

4) ⑷处应填( )。

5) ⑸处应填( )。
考点:
分析:
解答:
评论:
老师: