1 条题解

  • 1
    @ 2021-11-21 20:56:09

    模拟
    题目要求判断一个数的前一位是否 严格小于 后一位
    反之,为了配合取余运算,题目可以变成一个数的后一位是否 严格大于 前一位
    (严格大/小于可以理解成不含等号,例如 \(\geq \) 和 \(>\) 的区别)
    (其实我打的麻烦了,因为题目中已说明输入数据是3位数)

    #include <bits/stdc++.h>
    
    using namespace std;
    
    int main()
    {
        int n; cin >> n;
        
        int last_number = n % 10;// last_number为上一次循环中,n的最后一位
        bool flag = true;
        while ( n )
        {
            n /= 10; 
            if ( last_number <= n % 10 ) // 只要上次循环中,n的最后一位不大于当前的末位
            {
                flag = false;
                break;
            }
            last_number = n % 10; // 更新last_number
        }
        if ( flag ) puts("Yes");
        else puts("No");
        return 0;
    }
    
  • 1

信息

难度
2
分类
(无)
标签
递交数
20
已通过
10
通过率
50%
上传者