• c++聪聪看书(低数据版代码)


          聪聪是一个善良可爱、睿智聪慧的好孩子。聪聪喜欢看书,这一天她在看一本书时看到了这样一个问题:给你一个正整数n,你要将它分成若干个自然数Ai的和的形式,并且使得这若干个自然数Ai的乘积尽量大,并输出最大乘积。比如n=5的情况,最优的方案是5=2+3,答案为6。这么简单的问题聪聪当然会做了,她想考考你,你能不能比她先给出问题的答案呢?

    【输入】

          输入文件名为reading.in 共1行,包含1个正整数n。

    【输出】

          输出文件reading.out 共1行,包含1个整数,表示最大乘积。

    【输入输出样例】

          reading.in / reading.out

          7

          12

    【数据范围】
          对于30%的数据,1≤n≤10。
          对于60%的数据,1≤n≤100。
          对于100%的数据,1≤n≤10000。

     

    小学奥数学过吗?这题的思路是:每次从n中拆出3,然后m*3,直到n<=4为止。当n<=4时,m再最后乘一次n。不知这个思路学过没?

    为什么n<=4就结束?其实多手写几组数据就知道:有的时候m最后乘一个4的时候,结果会最大,而最后一次不可能乘以5!(5可以分为3和2,3*2=6,这比乘5更大)

    这是代码,有问题评论。

    #include<iostream>
    using namespace std;
    int n,m=1;
    int main()
    {
        cin>>n;
        if(n<=4) m=n;
        else
        {
            while(n>4)
            {
                n-=3;
                m*=3;
            }
            if(n!=0) m*=n;
        }
        cout<<m;
        system("pause");
        return 0;
    }
    

    这个代码只能得60分,因为当n<=10000的时候,结果会有好几百位,所以要用高精度。

    神がいた世界、その指先で映りのは、わが身が受けた大きいこと、また「責任」と言われろ?
  • 相关阅读:
    mybatis两种方式
    js绑定下拉框数据源
    修改 Idea 终端 Terminal 为 GitBash
    git stash使用
    解决百度网盘容量不符,没存进东西但容量变小的问题
    key_load_public: invalid format
    排序算法
    SpringBoot---自动配置原理
    mysql系列——Explain关键字(十)
    mysql系列——开启慢查询日志(十一)
  • 原文地址:https://www.cnblogs.com/scx2015noip-as-php/p/ccks.html
Copyright © 2020-2023  润新知