汽水瓶
某商店规定:三个空汽水瓶可以换一瓶汽水,允许向老板借空汽水瓶(但是必须要归还)。
小张手上有n个空汽水瓶,她想知道自己最多可以喝到多少瓶汽水。
数据范围:输入的正整数满足
1
≤
n
≤
100
1≤n≤100
注意:本题存在多组输入。输入的 0 表示输入结束,并不用输出结果。
点击查看代码
#include <iostream>
using namespace std;int main() {int a = 10;while(a--){int s ,x , y, z, result;result = 0;cin >> x; z = x % 3;while(x / 3 != 0){result += x / 3;x = x / 3;}s = result + z + 1;if(s %3 == 0){result = result + 1;}cout << result << endl;}return 0;
}
// 64 位输出请用 printf("%lld")
明明的随机数
明明生成了
N
N个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。
数据范围:
1
≤
n
≤
1000
1≤n≤1000 ,输入的数字大小满足
1
≤
v
a
l
≤
500
1≤val≤500
``
点击查看代码
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;int main() {int n;cin >> n;vector<int> a;for(int i = 0 ; i < n; i++ ){int b;cin >> b;a.push_back(b);}sort(a.begin(),a.end());auto last = unique(a.begin(), a.end());a.erase(last, a.end());for (int i = 0; i < a.size() ; i++) {cout << a[i] << endl;}return 0;
}
// 64 位输出请用 printf("%lld")
进制转换
写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。
数据范围:保证结果在
1≤n≤2 31 −1
点击查看代码
#include <iostream>
#include <vector>
using namespace std;int main() {string a;vector<char> ab;cin >> a;for (char c : a) {ab.push_back(c);}int b = ab.size();int result = 0;for (int i = 2; i < b; i++) {// 转换字符为相应的十六进制值int hexValue = 0;if (ab[i] >= '0' && ab[i] <= '9') {hexValue = ab[i] - '0'; // 数字字符转换为对应的十进制值} else if (ab[i] >= 'A' && ab[i] <= 'F') {hexValue = ab[i] - 'A' + 10; // 字符 'A'-'F' 转换为 10-15} else if (ab[i] >= 'a' && ab[i] <= 'f') {hexValue = ab[i] - 'a' + 10; // 字符 'a'-'f' 转换为 10-15}// 计算十六进制值的贡献并加到 result 中result = result * 16 + hexValue;}cout << result ;return 0;
}
// 64 位输出请用 printf("%lld")