文章

27

粉丝

86

获赞

24

访问

32.6k

头像
身份证号 题解:C++
P1657 华南师范大学机试题
发布于2023年8月18日 23:58
阅读数 1.1k

C++

分别处理两个串

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <math.h>
using namespace std;
int main(){
	string id;
	getline(cin, id);
	string yearS = id.substr(6, 4);
	int year = stoi(yearS);
	string fourS = id.substr(14);
	vector<char> fourC;
	for(int i = 0; i < fourS.size(); i++){
		fourC.push_back(fourS[i]);
	}
	sort(fourC.begin(), fourC.end(), greater<char>());
	int four = 0;
	for(int i = 0; i < fourC.size(); i++){
		four += (fourC[i] - '0') * pow(10, fourC.size() - 1 - i);
	}
	cout << year + four << endl;
	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发