输入:
16#7B
10#123
4#1323
8#16
END
输出:
8#16
#号之前是进制数(2~16),之后为该进制数下的数值,找出输入当中不同与其他数的数值。下例当中前三个表示123,最后一个表示14,所以输出8#16。代码的编译环境为vs2017
#include <iostream>
#include <string>
#include<vector>
#include<cstdlib>
#include<algorithm>
using namespace std;
int transform(string& s){
int data1 = atoi(s.c_str());//data1为转换基数
size_t begin = 0;
while(s[begin] != '#'){
++begin;
}
++begin;
int integer = 0;
integer = stoi(s.substr(begin), &begin, data1);
return integer;
}
int find_diff(vector<int>& res){
int num = res[0];
int times = count(res.begin(), res.end(), num);
if(times == 1)
return 0;
else{
for(int i = 1; i < res.size(); ++i){
if(res[i] != num)
return i;
}
}
}
int main(){
string s;
vector<string> s