题目名字
题意
给定一个人拥有的红色袜子和蓝色袜子的数量,要求计算这个人能够穿不同颜色袜子的最大天数,以及之后可以穿相同颜色袜子的天数。每天结束时,这个人都会扔掉当天穿的袜子。
就是要求计算两种颜色袜子数量的较大值作为可以穿不同颜色袜子的最大天数,然后计算两种颜色袜子数量的差值除以2作为之后可以穿相同颜色袜子的天数
思路
- 先输入
- 用if 判断 判断哪种袜子多,再计算
- 最后输出
坑点
- 代码转换,我没思路
算法一:
时间复杂度
入门
实现步骤
- 输入红色袜子和蓝色袜子的数量,然后输出可以穿不同颜色袜子的最大天数和之后可以穿相同颜色袜子的天数
代码
#include<iostream>
using namespace std;
int main(){
int n,m;
cin>>n>>m;
int ans=0,count=0;//ans用于存储计算结果,count用于存储n和m中的较大值
if(n>=m){
count=m;//如果红色袜子的数量大于等于蓝色袜子的数量,那么可以穿不同颜色袜子的最大天数就是蓝色袜子的数量
if((n-m)>=2){
ans=(n-m)/2;//穿相同颜色袜子的天数
}
else{
ans=0;
}
}
if(m>=n){
count=n;
if((m-n)>=2){
ans=(m-n)/2;//蓝色袜子比红色袜子多的数量除以2,这就是之后可以穿相同颜色袜子的天数
}
else{
ans=0;
}
}
cout<<count<<' '<<ans;
return 0;
}
总结
数学思维的转换,要读懂题意知道做什么