1 条题解
-
0
自动搬运
来自洛谷,原作者为

Yusani_huh
一生怎么着也得为自己努力一把吧 ฏ๎็็็็ฏ้้้้้้้้้้้้้้้้้้้้้搬运于
2025-08-24 21:37:39,当前版本为作者最后更新于2020-03-15 22:19:05,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
我真的被这题的毒性惊到了。
不多说了,咱来一个一个问看这道题。
问题 1
按照题意直接输出即可。
cout<<"I love Luogu!"<<endl;问题 2
简单的加减法即可解决。
cout<<2+4<<" "<<10-2-4<<endl;问题 3
简单的乘除法即可解决。
因为整数除法向下取整的特性,我们可以直接用 14/4 完成第一个问。
int a=14/4; cout<<a<<endl; cout<<a*4<<endl; cout<<14-a*4<<endl;问题 4
用浮点除法直接除即可。
cout<<500.0/3<<endl;问题 5
当成一个相遇问题来做,即两列火车从车头相遇时开始计时,然后让车尾相遇的过程,路程则是两列车的车身长度之和。
cout<<(260+220)/(12+20)<<endl;问题 6
这题使用勾股定理,即转化为一个直角三角形的两条直角边分别为 6cm、9cm,求它的斜边长度。
所以得到斜边 。
double a=6,b=9; double c=sqrt(a*a+b*b); cout<<c<<endl;问题 7
按照题意模拟即可。
int a=100; a+=10; //存了10元 cout<<a<<endl; a-=20; //花了20元 cout<<a<<endl; a=0; //全部取出 cout<<a<<endl;问题 8
设 为半径,那么圆的周长 ,面积 ,球的体积 。
int r=5; double pi=3.141593; cout<<2*pi*r<<endl; cout<<r*r*pi<<endl; cout<<4.0/3*pi*r*r*r<<endl;问题 9
用倒推法解决,或者直接列方程,列表也行。
代码用的是倒推法,从剩下一个桃子推出第三天没吃之前有多少个,再推出第二天没吃之前有多少个,以此类推。
cout<<(((1+1)*2+1)*2+1)*2<<endl;问题 10
是个牛吃草问题,或称牛顿问题,但我太蒻忘了这种题型的小学奥数解法,所以干脆列方程。
设原有 个评测任务,而每分钟增加 个评测任务,那么根据每台评测机每分钟处理的评测任务数量相同,可以得到
$$\dfrac{a+30x}{30 \times 8}=\dfrac{a+6x}{6 \times 10} $$这么一个方程,解之得 。
那么每台评测机每分钟可以处理 个评测任务,而现在有 个评测任务,相除得到需要 台评测机。
cout<<9<<endl;我看到题解区有巨佬的解法特精彩,果然还是我太蒻。
问题 11
这是个追及问题,直接公式计算就行。注意用浮点除法。
cout<<100.0/(8-5)<<endl;问题 12
不嫌麻烦的话你可以直接数,我解决这个用的是 ASCII 码。
由于
A是从第一个开始记的,所以要根据情况加 1 或减 1。cout<<'M'-'A'+1<<endl; cout<<char('A'-1+18)<<endl;问题 13
球的体积公式刚才提到了,只要把两个球的体积加起来,再开立方根就行,注意舍去小数部分,即向下取整。
int r1=4,r2=10; double pi=3.141593; double v=4.0/3*pi*r1*r1*r1+4.0/3*pi*r2*r2*r2; v=pow(v,1.0/3); //因为C++没有开立方根的函数,求它的三分之一次方可以达到同样的效果。 printf("%.0lf\n",v); //%.0lf可直接舍去小数部分问题 14
这涉及到了我的知识盲区……
再一次粗暴地列了方程:
设课程定价需降低 元,可得到
这样一个方程。题目说有两个答案的原因在于这是个一元二次方程。直接暴力破解,得到它的两个根: 和 。
因为题目让我们求课程定价的最小值,而我们设的是降低的钱,那自然降得越多越好,答案应该是 元。
cout<<50<<endl;
对于答案的输出方式,我们当然不用粗暴的
if else句式,而采用switch进行判定。还是奉上完整代码,这里就不加注释了。
#include<bits/stdc++.h> using namespace std; int n; int main(){ cin>>n; switch(n){ case 1:{ cout<<"I love Luogu!"<<endl; break; } case 2:{ cout<<2+4<<" "<<10-2-4<<endl; break; } case 3:{ int a=14/4; cout<<a<<endl; cout<<a*4<<endl; cout<<14-a*4<<endl; break; } case 4:{ cout<<500.0/3<<endl; break; } case 5:{ cout<<(260+220)/(12+20)<<endl; break; } case 6:{ double a=6,b=9; double c=sqrt(a*a+b*b); cout<<c<<endl; break; } case 7:{ int a=100; a+=10; cout<<a<<endl; a-=20; cout<<a<<endl; a=0; cout<<a<<endl; break; } case 8:{ int r=5; double pi=3.141593; cout<<2*pi*r<<endl; cout<<r*r*pi<<endl; cout<<4.0/3*pi*r*r*r<<endl; break; } case 9:{ cout<<(((1+1)*2+1)*2+1)*2<<endl; break; } case 10:{ cout<<9<<endl; break; } case 11:{ cout<<100.0/(8-5)<<endl; break; } case 12:{ cout<<'M'-'A'+1<<endl; cout<<char('A'-1+18)<<endl; break; } case 13:{ int r1=4,r2=10; double pi=3.141593; double v=4.0/3*pi*r1*r1*r1+4.0/3*pi*r2*r2*r2; v=pow(v,1.0/3); printf("%.0lf\n",v); break; } case 14:{ cout<<50<<endl; break; } } return 0; }因为完整地敲了其中 12 个问题的程序,所以代码会有点长。你也可以选择提交答案式的输出,那样看起来更清爽些。
(突然想求个三连是怎么回事)
- 1
信息
- ID
- 1467
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 2
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者