Ref: ITSA 50補 - [Problem 2] 檢驗學號
/*******************************************************/
/* [Problem 2] 檢驗學號 */
/* Author: awei0905 [at] awei0905.blogspot.tw */
/* Version: 2017/06/01 */
/*******************************************************/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
char buf[14];
int n;
scanf("%d", &n);
while (n--) {
scanf("%s", buf);
int sum = 0;
for (int i = 0; i < 12; i += 2)
sum += buf[i] + 3 * buf[i + 1];
sum = 26 + '@' - (sum - 24 * '0') % 26;
if (sum == buf[12])
printf("valid\n");
else
printf("invalid\n");
}
return 0;
}
Debug: I/O基偶位置作 sum,然後加減乘除。
2
123456789012L
098765432100A
valid
invalid
沒有留言:
張貼留言