从团队中选出工号中含有7或者工号是7的倍数的幸运员工
输入:一组空格分隔的员工工号列表
输出:幸运员工总人数,未找到时输出0
#include<iostream>
#include<stdlib.h>
#include<vector>
#include<string>
using namespace std;
vector<int> split(string str, string pattern){
string::size_type pos;
vector<int> result;
str += pattern;
int size = str.size();
for(int i = 0; i < size; i++){
pos = str.find(pattern, i);
if(pos < size){
string s = str.substr(i, pos - i);
result.push_back(stoi(s));
i = pos + pattern.size() - 1;
}
}
return result;
}
bool fun(int num){
string str = to_string(num);
for(int i = 0; i < str.size(); i++){
if(str[i] == '7'){
return true;
}
}
return false;
}
int main(){
string input = "";
getline(cin, input);
//input = "7 17 27 35 8 49 50";
vector<int> vec = split(input, " ");
int result = 0;
for(auto it: vec){
if(it % 7 == 0){
result++;
}
else{
if(fun(it)){
result++;
}
}
}
//cout<<vec.size()<<endl;
cout<<result<<"\n";
return 0;
}
自己暂时写成这样 没有办法测试真的没有积极性啊…
string和int互相转换的函数:
int转成string:to_string(int a)
string转成int:stoi(string a)
#include <iostream>
#include<string>
using namespace std;
int if7(string num,int total){
int time = 0;//7的个数
for (int i = 0; i < num.size(); i++){
if (num[i] == 7) {
total++;
return;
}
}
int inti = stoi(num);
if ()
}
int main()
{
string num;
cin >> num;
system("pause");
return 0;
}