FOJ 2123 数字的孔数
程序员文章站
2022-06-07 23:42:23
...
一,问题描述
二,问题分析
1.提议描述的十分清楚,统计给定整数的孔数和
2.最直观的思路就是对整数的每一位分析,如果是0 4 6 9 则孔数加1,如果是 8 则孔数加2
3.首先将整数的每一位存储在数组中,再对数组遍历,逐个元素分析即可
三,代码解答
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
vector<int> fun(int number) { //获得每一个数字的每一位
vector<int> res;
int k;
while (number) {
k = number % 10;
res.push_back(k);
number = number / 10;
}
return res;
}
int circlenumber(int number) { //计算数字含有的圆圈数
int res = 0;
vector<int> arr;
arr = fun(number);
for (int i = 0; i < arr.size(); i++) {
if (arr[i] == 0 || arr[i] == 4 || arr[i] == 6 || arr[i] == 9) {
res += 1;
}
else if (arr[i] == 8)
{
res += 2;
}
else {
continue;
}
}
return res;
}
int main() {
int num; //数据组数
cin >> num;
vector<int> vec(num);
for (int i = 0; i < num; i++) {
cin >> vec[i];
int res = circlenumber(vec[i]);
cout << res << endl;
}
}
上一篇: 基础编程题目集 7-30 字符串的冒泡排序 (20分)
下一篇: 7-5 点赞狂魔
推荐阅读