题目:推断卡号是否合法,给你4组4位的数字。偶数位的2倍的位和加上奇数位的和,推断尾数是否为0。
分析:简单题,模拟。
直接依照提议推断就可以。
说明:460题,加油!
#include <iostream> #include <cstdlib> using namespace std; char data[4][5]; int main() { int n; while (cin >> n) for (int i = 1 ; i <= n ; ++ i) { for (int i = 0 ; i < 4 ; ++ i) cin >> data[i]; int d = 0,u = 0,t = 0; for (int i = 0 ; i < 4 ; ++ i) { t = (data[i][0]-'0')*2; d += (t/10+t%10); u += (data[i][1]-'0'); t = (data[i][2]-'0')*2; d += (t/10+t%10); u += (data[i][3]-'0'); } if ((d+u)%10) cout << "Invalid" << endl; else cout << "Valid" << endl; } return 0; }