企业建设网站风险,网站备案每年一次吗,深圳市保障性住房申请官网,建网站 主机1.汽水瓶
某商店规定#xff1a;三个空汽水瓶可以换一瓶汽水#xff0c;允许向老板借空汽水瓶#xff08;但是必须要归还#xff09;。
小张手上有n个空汽水瓶#xff0c;她想知道自己最多可以喝到多少瓶汽水。
数据范围#xff1a;输入的正整数满足 1≤n≤100 1≤n≤…1.汽水瓶
某商店规定三个空汽水瓶可以换一瓶汽水允许向老板借空汽水瓶但是必须要归还。
小张手上有n个空汽水瓶她想知道自己最多可以喝到多少瓶汽水。
数据范围输入的正整数满足 1≤n≤100 1≤n≤100 输入描述
输入文件最多包含 10 组测试数据每个数据占一行仅包含一个正整数 n 1n100 表示小张手上的空汽水瓶数。n0 表示输入结束你的程序不应当处理这一行。
输出描述
对于每组测试数据输出一行表示最多可以喝的汽水瓶数。如果一瓶也喝不到输出0。
示例1
输入例子
3
10
81
0输出例子
1
5
40例子说明
样例 1 解释用三个空瓶换一瓶汽水剩一个空瓶无法继续交换
样例 2 解释用九个空瓶换三瓶汽水剩四个空瓶再用三个空瓶换一瓶汽水剩两个空瓶向老板借一个空瓶再用三个空瓶换一瓶汽水喝完得一个空瓶还给老板 代码
模拟取瓶子操作每次除3获得空瓶子然后取余如果余数等于2可以向老板借一个瓶子就有了三个空瓶子再换成一瓶饮料还给老板
评论里大佬提示也可以直接将瓶子数除以2过程确实可以推导出来
#includebits/stdc.h
using namespace std;
string s[100000 5];int main(){int num,sum;while(cinnum num!0){sum0;while(num1){int xnum/3;int ynum%3;sumx;numxy;if(num2)num;
// cout----sumnumendl;}coutsumendl;}return 0;
} 2.明明的随机数
明明生成了N个1到500之间的随机整数。请你删去其中重复的数字即相同的数字只保留一个把其余相同的数去掉然后再把这些数从小到大排序按照排好的顺序输出。
数据范围 1≤n≤1000 1≤n≤1000 输入的数字大小满足 1≤val≤500
输入描述
第一行先输入随机整数的个数 N 。
接下来的 N 行每行输入一个整数代表明明生成的随机数。
具体格式可以参考下面的示例。
输出描述
输出多行表示输入数据处理后的结果
示例1
输入例子
3
2
2
1输出例子
1
2例子说明
输入解释
第一个数字是3也即这个小样例的N3说明用计算机生成了3个1到500之间的随机整数接下来每行一个随机数字共3行也即这3个随机数字为
2
2
1
所以样例的输出为
1
2 代码
用造个数组用桶排序的方法遍历一遍即可
#includebits/stdc.h
using namespace std;int a[505];int main(){int n,m,i;for(i0;i505;i)a[i]0;cinn;while(n--){cinm;a[m]1;}for(i1;i500;i){if(a[i]1)coutiendl;}return 0;
}
3.进制转换
写出一个程序接受一个十六进制的数输出该数值的十进制表示。
数据范围保证结果在 1≤n≤2^31−1 输入描述
输入一个十六进制的数值字符串。
输出描述
输出该数值的十进制字符串。不同组的测试用例用\n隔开。
示例1
输入例子
0xAA
输出例子
170
代码
这道题可以直接用hax()函数将十六进制转十进制不过用字符串转换成ASCII码的方式方便理解
题目限制 1≤n≤2^31−1 暂不考虑超大数
#includebits/stdc.h
using namespace std;int main() {int sum 0, i;string s;cin s;//跳过前两位字符取后面的字符串s s.substr(2, s.length());//cout s endl;for (i s.length() - 1; i 0; i--) {int num 0;if (s[i] A s[i] Z)num s[i] - A 10;elsenum s[i] - 0;sum num * pow(16, s.length() - 1 - i);
// cout num: num endl;}cout sum endl;return 0;
}