全部评论 7

  • 第三题貌似是思维题
    康康我的代码

    #include<bits/stdc++.h>
    using namespace std;
    int main(){
        long long n;
        cin >> n;
        n -= 3;
        int a = n / 3;
        int b = n - a - 1;
        int j = abs(a - b);
        int i = abs(a - 1);
        int t = abs(b - 1);
        cout << min({i,j,t});
        return 0;
    }
    

    2024-11-23 来自 北京

    0
  • hi,恭喜成为#34的优秀题解,请私信AC君获得礼品哦~(没有关注或回复,已经没法私信你了呜呜

    2024-11-21 来自 浙江

    0
  • 2024-11-17 来自 浙江

    0
  • 2024-11-17 来自 湖南

    0
  • 2024-11-17 来自 湖南

    0
  • 2024-11-17 来自 湖南

    0
    • #include<bits/stdc++.h>
      using namespace std;
      typedef long long ll;
      ll yu=1;
      ll num=0;
      int main(){
      	ll a;
      	cin>>a;
      	a-=3; 
      	ll d1=1;
      	ll d2=(a-1)/3;
      	ll d3=a-d1-d2;
      	while(yu!=3){
      			num=max(min(min(abs(d1-d2),abs(d1-d3)),abs(d2-d3)),num);
      			yu++;
      			d2++;
      			d3--;		
      	}	
      	cout<<num<<endl;
      	return 0;
      }
      

      就这代码,奇奇怪怪,我也不知道咋对的,帮我看看绵

      2024-11-22 来自 浙江

      0
    • yu的初始值为1,在循环中每次加1,直到等于3时循环结束。这个逻辑似乎有些奇怪,因为 yu的初始值和循环条件没有明确的逻辑关系?改了一下:

      #include <bits/stdc++.h> 
      using namespace std; 
      typedef long long ll;  
      int main() { 
          ll a; 
          cin >> a; 
          a -= 3;  
          ll d1 = 1; 
          ll d2 = (a - 1) / 3; 
          ll d3 = a - d1 - d2; 
          ll num = 0; 
          for (int i = 0; i < 3; ++i) { 
              num = max(min(min(abs(d1-d2), abs(d1-d3)), abs(d2-d3)), num); 
              d2++; 
              d3--; 
          }  
          cout << num << endl; 
          return 0; 
      }
      

      2024-11-22 来自 湖南

      0
    • 我发现答案都是从这三个数中出现,所以我去找最大值,while是去判断次数达3了没有

      2024-11-23 来自 浙江

      0
  • 2024-11-17 来自 湖南

    0

热门讨论