8 条题解

  • 3
    @ 2024-2-16 10:41:26

    我来告诉大家为什么原原本本的输出:

    首先,我们来想想,如何把一个三位数(我们用n来表示)在它后面重复一遍呢?其实很简单,乘上1001就行了(首先,要新增三位,就是先将n乘上1000,接着,再加上n,把后三位的空缺补上,就完成啦,整个过程可以用n * 1000 + n这个算式来表示,接着我们可以用乘法分配律,把他先化为n * 1000 + n * 1,再化为n * (1000 + 1), 最后化为n * 1001);

    题目还要求:把这个六位数(n * 1001)连续除以7、11和13。那全部算式就可以用n * 1001 / 7 / 11 / 13来表示,我们可以利用除法的性质,把他化为n * 1001 / (7 * 11 * 13),我们试着算一下7 * 11 * 13的结果,就可以发现,7 * 11 * 13 = 1001!

    有些人可能还不明白,那让我们回到之前的算式,即n * 1001 / (7 * 11 * 13),再把它化为n * 1001 / 1001,这时,乘1001会跟除以1001抵消,最终的结果便变成了n,也就是说,最终的结果跟刚开始一模一样!

    这就是为什么原原本本的输出。那我们明白了这一点,代码不就简单了吗?一个学到Level1的应该都会(输入一个数n,再将它原原本本的输出,原因在上面已经讲过了),不多说,接下来上代码!

    已AC,请放心食用

    #include <iostream>
    using namespace std;
    int main()
    {
        int n;
        cin >> n;
        cout << n;
        return 0;
    }
    

    结语:学好数学,是学好编程的基础,三年级学到的运算定律在这题中派上了很大的用场,所以,我们学到知识后,要活学活用,这样才能达到学知识的目的~

    • 1
      @ 2024-1-23 21:36:04
      #include <iostream>
      using namespace std;
      int main()
      {
          int a;
          cin >> a;
          cout << (a * 1000 + a) / 7 / 11 / 13;
          return 0;
      }
      
      • 1
        @ 2023-12-13 19:54:11

        print(input())

      • 0
        @ 2023-10-2 16:32:13
        #include <iostream>
        using namespace std;
        int main()
        {
            int n;
            cin >> n;
            n *= 1001;
            cout << n / 7 / 11 / 13;
            return 0;
        }//已AC
        
        • 0
          @ 2023-9-18 22:03:40
          #include<bits/stdc++.h>
          using namespace std;
          int main()
          {
              long long c;
              cin >> c;
              c = c + c  * 1000;
              c = c / 7 / 11 / 13;
              cout << c;
              return 0;
          }
          

          A

          • 0
            @ 2023-5-26 6:27:22
            #include <bits/stdc++.h>
            using namespace std;
            int n;
            int main()
            {
                cin >> n;
                cout << n;
                return 0;
            }
            

            不信你试试

            • 0
              @ 2023-4-10 20:55:02

              然鹅这道题好像也不用double

              #include<bits/stdc++.h>
              using namespace std;
              int main()
              {
                  double x;
                  cin>>x;
                  cout<<(x*1000+x)/7/11/13;
                  return 0;
              }
              • 0
                @ 2023-2-19 9:41:59
                #include <iostream>
                using namespace std;
                int main()
                {
                    int n;
                    cin >> n;
                    n=n*1000+n;
                    cout << n/7/11/13;
                }
                
                • 1

                信息

                ID
                958
                时间
                1000ms
                内存
                16MiB
                难度
                1
                标签
                递交数
                71
                已通过
                59
                上传者