50 条题解

  • 0
    @ 2023-8-8 9:57:33
    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n, max = 0;
        cin >> n;
        for (int i = 1;i * 2 < n; i++)
        {
            if ( (n - 2 * i) * (n - 2 * i) * i > max) 
                max = (n - 2 * i) * (n - 2 * i) * i;
        }
        cout << max;
        return 0;
    }
    
    • 0
      @ 2023-8-6 9:33:32

      完全是一道费脑子的数学题

      #include <iostream>
      using namespace std;
      int main()
      {
          int n, x = 0;
          cin >> n;
          for (int i = 1; i <= n / 2; i++)
          {
              if ((n - i * 2) * (n - i * 2) * i > x)
              {
                  x = (n - i * 2) * (n - i * 2) * i;
              }
          }
          cout << x << endl;
          return 0;
      }
      
      • 0
        @ 2023-8-3 16:07:42

        新手在此 这是一道纯纯的数学题 依旧两种解法如下 方法一:

        #include<iostream>
        using namespace std;
        int main()
        {
            int a , b , c = 0;
            cin >> a;
            if (a % 2 == 0)
            {
                b = a / 2;
            }
            else
            {
                b = (a + 1) / 2;
            }
            for (int i = 1;i <= b;i++)
            {
                if ((a - i * 2) * (a - i * 2) * i > c)
                {
                    c = (a - i * 2) * (a - i * 2) * i;
                }
            }
            cout << c;
            return 0;
        }
        

        方法二:

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

        这是真正的AC!!!

        
        
        • 0
          @ 2023-7-21 21:46:34

          因为时间复杂度不高,仅仅O((n-1)/2)(取整),所以可以

          暴力枚举!!!

          两种方案: 第一种:

          #include <bits/stdc++.h>
          using namespace std;
          int main(){
              int n,v=-1;
              scanf("%d",&n);
              for(int i=1;i<=(n-1)/2;i++){
                  v=max(v,(n-i*2)*(n-i*2)*i);
              }
              printf("%d\n",v);
              return 0;
          }
          

          第二种:

          #include <cstdio>
          using namespace std;
          int main(){
              printf("%d",128);
              return 0;
          }
          
          • 0
            @ 2023-6-24 20:56:33

            OK呀,稍微把自己带了进去,脑子快废了。

            洗了个澡,思路清晰了很多。

            做这种题,就是明明题目很简单,你就是想不出解法,特难受。

            long long n,a=1,num=0,biggest=0;//全局变量。
            int main()
            {
                cin>>n;
                while (true)//直接while,不怕死循环。
                {
                    if (a*2>=n)
                    {
                        break;
                    }
                    num++;//num代表边长的数量。
                    a++;//边长
                }
                long long v[num];//创建一个数组来储存体积。
                for (int i=1;i<=num;i++)
                {
                    v[i]=(n-i*2)*(n-i*2)*i;
                    if (v[i]>biggest)
                    {
                        biggest=v[i];//找最大。
                    }
                }
                cout<<biggest;
                return 0;
            }
            
            • 0
              @ 2023-6-17 17:34:12

              第一种:``` #include <bits/stdc++.h> using namespace std; int main() { int n, max = 0; cin >> n; for (int i = 1;i * 2 < n; i++) { if ( (n - 2 * i) * (n - 2 * i) * i > max) max = (n - 2 * i) * (n - 2 * i) * i; } cout << max; return 0; } 第二种:

              #include <bits/stdc++.h> using namespace std; int main() { int n,h=0; cin>>n; for (int i=1;i2<=n;i++) { if ((n-i2)(n-i2)i>h) { h=(n-i2)(n-i2)*i; }

              }
              cout<<h;
              return 0;
              

              }

              
              ```
              
              ```
              • 0
                @ 2023-6-11 19:48:40
                #include <iostream>
                using namespace std;
                
                int main() {
                    int n;
                    cin >> n;
                
                    int ans = 0;
                    for (int m = 1; m <= n/2; m++) { // 枚举裁剪的小正方形边长
                        int v = (n-2*m)*(n-2*m)*m; // 计算纸盒体积
                        ans = max(ans, v); // 更新答案
                    }
                
                    cout << ans << endl;
                
                    return 0;
                }
                
                
                • 0
                  @ 2023-3-29 7:01:41
                  #include<bits/stdc++.h>
                  using namespace std;
                  int main()
                  {
                      int n,ans=0;
                      cin>>n;
                      for (int i=1;i*2<n;i++)
                          ans=max(ans,(n-2*i)*(n-2*i)*i);
                      cout<<ans;
                      return 0;
                  }
                  
                  • 0
                    @ 2023-3-24 21:46:53
                    #include <bits/stdc++.h>
                    using namespace std;
                    int main()
                    {
                        int n,maxx=-1;
                        cin>>n;
                        for (int i=1;i<=n/2;i++)
                        {
                            if ((n-i*2)*(n-i*2)*i>maxx)
                            {
                                maxx=(n-i*2)*(n-i*2)*i;
                            }
                        }
                        cout<<maxx;
                        return 0;//懒得说话了。
                    }
                    
                    • 0
                      @ 2022-8-27 12:03:20

                      其实这道题很简单,需要同学们画个图理解,代码如下!!!

                      #include <bits/stdc++.h>
                      using namespace std;
                      int main()
                      {
                          int n,h=0;
                          cin>>n;
                          for (int i=1;i*2<=n;i++)
                          {
                              if ((n-i*2)*(n-i*2)*i>h)
                              {
                                  h=(n-i*2)*(n-i*2)*i;
                              }
                      
                          }
                          cout<<h;
                          return 0;
                      
                      }
                      
                      • 0
                        @ 2022-8-20 15:36:59

                        思维好的应该很好理解,然后就是枚举法了,编程不难,我的这个应该通俗易懂一点

                        #include <bits/stdc++.h>//万能头
                        using namespace std;
                        int main()
                        {
                            int n,a,s,v,max=0;
                            cin >> n;
                            for (int m=1;m<=n/2;m++)//此处判断条件一定注意是n/2,因为四角都减所以被剪掉部分长度会*2,不作限制底面积会变成负数
                            {
                                a=n-m*2;//m*2的原因已经说过,这里求得的是底面的边长
                                s=a*a;//底面积
                                v=s*m;//体积(严格意义上应该是容积)
                                if (v > max)//如果这次枚举的体积比最高值大
                                {
                                    max = v;//则设为新的最高值
                                }
                            }
                            cout << max;//输出
                            return 0;
                        }
                        
                        • -1
                          @ 2024-1-29 22:33:50
                          #include <bits/stdc++.h>
                          using namespace std;
                          int main(){
                              int n, max = 0;
                              cin >> n;
                              for (int i = 1;i * 2 < n; i++)if ( (n - 2 * i) * (n - 2 * i) * i > max) max = (n - 2 * i) * (n - 2 * i) * i;
                              cout << max;}题解
                          
                          • -1
                            @ 2023-11-19 15:11:38
                            #include<iostream>
                            using namespace std;
                            int main(){
                            	int n;
                            	cin>>n;
                            	int b=0;
                            	for(int i=1;i<=n/2;i++){
                            		if((n-(i+i))*(n-(i+i))*i>b){
                            			b=(n-i*2)*(n-i*2)*i;
                            		}
                            	}
                            	cout<<b;
                            	return 0;
                            }
                            
                            • -1
                              @ 2023-9-4 21:14:22
                              #include <iostream>
                              using namespace std;
                              int main()
                              {
                              	int n,maxx;
                              	cin>>n;
                              	maxx=-1;
                              	for(int i=1;2*i<=n;i++)
                              	{
                              		if(maxx<=(n-2*i)*(n-2*i)*i)
                              		{
                              			maxx=(n-2*i)*(n-2*i)*i;
                              		}
                              	}
                              	cout<<maxx;
                              	return 0;
                              }
                              
                              • -1
                                @ 2023-8-24 0:09:57
                                
                                #include <bits/stdc++.h>
                                using namespace std;
                                int main()
                                {
                                    int n, max = 0;
                                    cin >> n;
                                    for (int i = 1;i * 2 < n; i++)
                                    {
                                        if ( (n - 2 * i) * (n - 2 * i) * i > max) 
                                            max = (n - 2 * i) * (n - 2 * i) * i;
                                    }
                                    cout << max;
                                    return 0;
                                }
                                
                                • -1
                                  @ 2023-8-18 18:30:42

                                  说是难度4,比难度6还难

                                  • -1
                                    @ 2023-8-18 18:27:44

                                    我不懂了 来康康你们的

                                    • -1
                                      @ 2023-8-17 21:31:34
                                      #include<iostream>
                                      using namespace std;
                                      int main()
                                      {
                                          int a , b , c = 0;
                                          cin >> a;
                                          if (a % 2 == 0)
                                          {
                                              b = a / 2;
                                          }
                                          else
                                          {
                                              b = (a + 1) / 2;
                                          }
                                          for (int i = 1;i <= b;i++)
                                          {
                                              if ((a - i * 2) * (a - i * 2) * i > c)
                                              {
                                                  c = (a - i * 2) * (a - i * 2) * i;
                                              }
                                          }
                                          cout << c;
                                          return 0;
                                      }
                                      
                                      • -1
                                        @ 2023-8-17 16:01:38

                                        //无脑枚举

                                        • -1
                                          @ 2023-1-4 19:37:28
                                          #include <bits/stdc++.h> 
                                          using namespace std;
                                          int sum;
                                          int main()
                                          {
                                              int n;
                                              cin >> n;
                                              for (int i = 1; i <= n / 2; i++)
                                              {
                                                  if ((n - i * 2) * (n - i * 2) * i > sum)
                                                  {
                                                      sum = (n - 2 * i) * (n - 2 * i) * i;
                                                  }
                                                  
                                              }
                                              cout << sum;
                                              
                                              return 0;
                                          }
                                          
                                          
                                          
                                          
                                          

                                          【入门】纸盒的最大体积是多少?

                                          信息

                                          ID
                                          347
                                          时间
                                          1000ms
                                          内存
                                          16MiB
                                          难度
                                          4
                                          标签
                                          递交数
                                          5212
                                          已通过
                                          2377
                                          上传者