UVA_333_Recognizing Good ISBNs
2016-04-20 17:29
337 查看
#include<iostream> #include<sstream> #include<string> #include<vector> #include<list> #include<set> #include<map> #include<stack> #include<queue> #include<algorithm> #include<bitset> #pragma warning(disable:4996) using std::cin; using std::cout; using std::endl; using std::stringstream; using std::string; using std::vector; using std::list; using std::pair; using std::set; using std::multiset; using std::map; using std::multimap; using std::stack; using std::queue; using std::priority_queue; using std::bitset; bool check(const string &ISBN) { vector<int>digit; for (size_t i = 0; i < ISBN.size(); i++) { if (isdigit(ISBN[i])) { digit.push_back(ISBN[i] - '0'); } else if (ISBN[i] == 'X') { digit.push_back(10); if (digit.size() != 10) { return false; } } } if (digit.size() != 10) { return false; } for (size_t i = 1; i < digit.size(); i++) { digit[i] += digit[i - 1]; } for (size_t i = 1; i < digit.size(); i++) { digit[i] += digit[i - 1]; } if (digit.size()==10&& digit[9] % 11 == 0) { return true; } return false; } string clear_space(const string &str) { string ret=str; while (ret[0] == ' ') { ret.assign(ret.begin() + 1, ret.end()); } while (ret[ret.size() - 1] == ' ') { ret.pop_back(); } return ret; } int main() { //freopen("input.txt", "r", stdin); //freopen("output.txt", "w", stdout); string ISBN; while (getline(cin,ISBN)) { if (!ISBN.size()) { cout << " is incorrect." << endl; continue; } ISBN = clear_space(ISBN); cout << ISBN; if (check(ISBN)) { cout << " is correct."<<endl; } else { cout << " is incorrect." << endl; } } return 0; }
相关文章推荐
- Django学习随手记(八)
- Django学习随手记(七)
- CodeForces 615E Hexagons
- history.back()与history.go(-1)
- Golang中的闭包
- 算法Sedgewick第四版-第1章基础-1.4 Analysis of Algorithms-002如何改进算法
- GOF设计模式阅读笔记之行为模型(上)
- Django 异常解决
- go--Ubuntu下安装GO LANG,测试输入hello world
- 机器学习系列(8)_读《Nature》论文,看AlphaGo养成
- Windows下visual studio code搭建golang开发环境
- 算法Sedgewick第四版-第1章基础-1.4 Analysis of Algorithms-001分析步骤
- Django之站内搜索-Solr,Haystack
- ubuntu14.04 RockMongo的配置
- Django filter符合表示"不等于"
- Django笔记 富文本编辑器 课题
- Django笔记 二级子域名配置
- Django笔记 如何扩展User表的字段
- Django之信息聚合
- 谷歌“安全浏览”检查出Google.com“存在危险”