34 条题解
-
28
这题发现没多少人做对,结果发现大家答案都一样,我就没话好说了,看看MOD的吧,或许你们会找到思路,好了,来看看思路吧!
- 题目给出 a x y 三个变量,关系即可得出来是 a * ? - x == ( a - 1 ) * ? + y
- 我们可以设 ?为循环变量 i ,然后依次便利到,em,随你便可以贼大,比如999999···
这题较简单,思路简简单单,来看看代码吧
#include <bits/stdc++.h> using namespace std; int main() { int a, x, y; cin >> a >> x >> y; for (int i = 1; i <= 1000000; i++) { if (a * i - x == (a - 1) * i + y) { cout << i << " " << a * i - x; //或者 (a - 1) * i - y 但是更麻烦 return 0; } } return 0; //这个代码其实就是要在循环里找到答案,这个 return 0; 可以不写 }
-
1
这道题做对的人没多少,这也不难吧? 上思路!
1,这道题给出
a,x,y
,三个变量,首先先要弄懂这三个变量是干什么的。这三个变量都是代表钱,首先要看懂题目:今有(人)买(物), (每)人出八(钱)盈余三(钱), (每)人出七(钱)不足四(钱), 问人数、物价各几何?
a
就是每句中的第一个钱,x,y
就是第二个钱。2,弄懂了变量,再来看输出,,第一个输出就是人数,这个简单,只需要一个循环,这个
i
的上限可以贼大如1000000
,只要不超过int
的上限就好了,i就是人数。a * i - x
就是货价 只需要在循环中插一个判断就行了:a * i - x == (a - 1) * i + y
上代码!
(已AC)
#include <bits/stdc++.h> using namespace std; int main() { int a, x, y; cin >> a >> x >> y; for (int i = 1; i <= 1000000; i++) { if (a * i - x == (a - 1) * i + y) { cout << i << " " << a * i - x;//i人数,a*i-物价 return 0;//结束代码,之后就不用输出了 } } return 0; }
-
1
AC代码,放心食用 //直接套公式 //盈亏问题有”一盈一亏“,”两盈“,”两亏“三种情况,判断一下。
#include <iostream> #include <algorithm> using namespace std; int main() { int a,x,y,b; cin>>a>>x>>y; if((x<0 && y>=0) || (x>=0 && y<0)) { b=abs(x)-abs(y); cout<<b<<" "<<b*a-x; } else if((x<0 && y<0) || (x>0 && y>0)) { b=abs(x)+abs(y); cout<<b<<" "<<b*a-x; } return 0; }
-
0
每个人少付一块钱 两次总钱数相差多少块钱 人就有多少个 然后根据“若每人出 8 元 则比物品的价格多出了 3 元” 这个条件或“若每人出 7 元 则比物品的价格少了 4 元” 这个条件列一个方程 这里我给大家都示范一遍
#include <iostream> using namespace std; int main() { int a,x,y,n,m;//n指人数,m指价格 cin >> a >> x >> y;//输入 n = x + y;//这句是在计算人数 m = a * n - x;//这句是在计算物品的价格 cout << n << " " << m << endl;//输出 return 0; }
#include <iostream> using namespace std; int main() { int a,x,y,n,m;//n指人数,m指价格 cin >> a >> x >> y;//输入 n = x + y;//这句是在计算人数 m = a - 1 * n + y;//这句是在计算物品的价格 cout << n << " " << m << endl;//输出 return 0; }
-
0
这道题可以用数学题的思路开始解
先列一个方程,让两边的物品价格相等:
an-x=(a-1)n+y
接下来就是让程序从1开始一个个地试答案
把这个方程套进if条件里去就可以了
</span>#include<iostream> #include<cstdio> using namespace std; int main(){ int a,x,y; cin>>a>>x>>y; for(int i=1;i<=10000;i++){//将方程里的n设为循环变量 if(a*i-x==(a-1)*i+y){ cout<<i<<" "<<a*i-x<<endl;//有了人数,价格也就出来了 } } return 0; }
信息
- ID
- 1288
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- 递交数
- 2737
- 已通过
- 1493
- 上传者