赞
踩
#include<iostream> #include<string> using namespace std; int cal(string a){ return (a[0] - '0') * 7 + (a[1] - '0') * 9 + (a[2] - '0') * 10 + (a[3] - '0') * 5 + (a[4] - '0') * 8 + (a[5] - '0') *4 + (a[6] - '0') * 2 + (a[7] - '0') * 1 + (a[8] - '0') * 6 +(a[9] - '0') * 3 + (a[10] - '0') * 7 + (a[11] - '0') * 9 + (a[12] - '0') * 10 + (a[13] - '0') * 5 + (a[14] - '0') * 8 + (a[15] - '0') * 4 +(a[16] - '0') * 2; } char s(string a){ int k = cal(a) % 11; if (k == 0) return '1'; else if (k == 1) return '0'; else if (k == 2) return 'X'; else return '0'+12-k; } string turn(int a){ string temp; while(a!=0){ temp=(char)(a%10+'0')+temp; a/=10; } int len=temp.length(); for(int i=0;i<4-len;i++) temp='0'+temp; return temp; } int main() { string number; cout<<"请输入前面14位"<<endl; cin >> number; for(int i=0;i<10000;i++){ string temp=number+turn(i); if (temp[17] == s(temp)) cout <<temp << endl; } system("pause"); return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。