不斷出現TLE,不知道有沒有大神能幫忙解惑?
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int getDigit(int, int);
int main(void) {
int data, num[4];
scanf("%d", &data);
for(int i=0;i<data;i++) {
scanf("%d%d%d%d", &num[0], &num[1], &num[2], &num[3]);
int arr[8];
for(int i=0;i<4;i++) {
arr[i]=getDigit(num[i], 4)*2;
arr[i+4]=getDigit(num[i], 2)*2;
}
int sum=0;
for(int i=0;i<8;i++) {
sum+=getDigit(arr[i], 2);
sum+=getDigit(arr[i], 1);
}
int sum2=0;
for(int i=0;i<4;i++) {
sum+=getDigit(num[i], 3);
sum+=getDigit(num[i], 1);
}
if((sum+sum2)%10==0) {
printf("Valid\n");
} else {
printf("Invalid\n");
}
}
return 0;
}
int getDigit(int num, int digit) {
if(digit==1) {
return num%10;
}
if(digit==2) {
return (num%100-num%10)/10;
}
if(digit==3) {
return (num%1000-num%100)/100;
}
if(digit==4) {
return (num%10000-num%1000)/1000;
}
}