7 条题解

  • 3
    @ 2023-12-23 22:33:40
    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
    	int a,b,c,n;
    	cin>>n;
    	a=b=c=n/3;
    	a/=2;
    	b/=2;
    	c=c+a+b;
    	a/=2;
    	c/=2;
    	b=b+a+c;
    	b/=2;
    	c/=2;
    	a=a+b+c;
    	cout<<a<<" "<<b<<" "<<c;
    	return 0;
    }
    
    • 2

      不要设方程 不要设方程 不要设方程 使用倒推法(逆序)!!!从最后结果入手,按反向顺序,分步骤推算出每次分钱每个人的钱数 三次分钱后 每个人的钱数一样 就是x/3 = 24/3 =8 每个人8块钱 设 int a,b,c 为甲乙丙三个人的钱数 a=8 b=8 c=8 题目有个隐藏信息 甲分钱给乙、丙两人,所分给的数与各人(已有数相同) 意思就是:乙原有的钱乘以2=乙第一次分钱的数 丙原有的钱乘以2=丙第一次分钱的数 后面2次的分法也一样 所分给的数与各人(已有数相同) 就是双倍钱 使用倒推法(逆序)!!!乘法变除法 减法变加法 模拟出来就行了

      • 1
        @ 2024-11-7 13:20:37

        #include<bits/stdc++.h> using namespace std; int main() { int a,b,c,n; cin>>n; a=n/3;b=n/3;c=n/3; a=a/2;b=b/2;c=c+a+b; a=a/2;c=c/2;b=b+a+c; b=b/2;c=c/2;a=a+b+c; cout<<a<<" "<<b<<" "<<c<<" "<<endl; return 0; }

        • 0
          @ 2024-11-9 13:18:59

          #include<bits/stdc++.h> using namespace std; int main() { int a,b,c,n; cin>>n; a=b=c=n/3; a/=2, b/=2, c=c+a+b, a/=2, c/=2, b=b+a+c, b/=2, c/=2, a=a+b+c, cout<<a<<" "<<b<<" "<<c; return 0; }

          • 0
            @ 2024-11-7 13:23:46

            #include<bits/stdc++.h> using namespace std; int main() { int a,b,c,x; cin>>x; a=b=c=x/3; a/=2; b/=2; c=c+a+b; c/=2; a/=2; b=a+c+b; b/=2; c/=2; a=a+b+c; cout<<a<<" "<<b<<" "<<c; return 0; }

            • 0
              @ 2024-11-7 13:23:37

              解释 a/=2的意思和 a=a/2意思相同

              • 0
                @ 2023-12-24 17:20:27

                #include<bits/stdc++.h> using namespace std; int main() { int a,b,c,n; cin>>n; a=b=c=n/3; a/=2; b/=2; c=c+a+b; a/=2; c/=2; b=b+a+c; b/=2; c/=2; a=a+b+c; cout<<a<<" "<<b<<" "<<c; return 0; }

                • 1

                信息

                ID
                19
                时间
                1000ms
                内存
                256MiB
                难度
                1
                标签
                递交数
                149
                已通过
                105
                上传者