2 条题解

  • 1
    @ 2023-6-23 1:27:42

    思路:

    对于每个四位数,我们可以直接按照题目中的计算方式得到结果,然后判断结果是否大于零。如果大于零,满足条件的数的个数加1即可。

    代码实现很简单,但需要注意一个细节:int 类型除以 int 类型的结果仍然是 int 类型,因此如果要得到小数部分,需要进行强制类型转换。这里为了方便,直接将被除数乘上 10000,然后进行整数计算即可。

    #include <iostream>
    using namespace std;
    
    int main()
    {
        int n;
        cin >> n; // 输入四位数的个数
        int count = 0; // 满足条件的数的个数
        for (int i = 0; i < n; i++) {
            int num;
            cin >> num; // 输入一个四位数
            int a = num / 1000; // 千位数
            int b = num / 100 % 10; // 百位数
            int c = num / 10 % 10; // 十位数
            int d = num % 10; // 个位数
            if ((d - a - b - c) > 0) { // 判断是否满足条件
                count++;
            }
        }
        cout << count << endl; // 输出满足条件的数的个数
        return 0;
    }
    
    • 0
      @ 2024-6-1 17:07:12
      #include <bits/stdc++.h>
      using namespace std;
      int main()
      {
          int n;
          int sum = 0;
          cin >> n;
          for(int i = 1;i<=n;i++)
          {
              int num;
              cin >> num;
              if((num%10-num/10/10/10%10-num/10/10%10-num/10%10)>0)
                  sum += 1;
          }
          cout << sum;
          return 0;
      }
      
      • 1

      信息

      ID
      179
      时间
      1000ms
      内存
      128MiB
      难度
      1
      标签
      递交数
      127
      已通过
      98
      上传者