題目連結
題意:
每組測資含16位數字(4個4位)
將奇位數字分別*2後,各位數相加得到一個數 sum1
偶位數字相加得到一個數sum2
將sum1 + sum2相加後,若尾數為 0 輸出 Valid,不為 0 輸出 Invalid
解法:
單純的照著做即可,我把每一組測資當成4個4位數字來讀
分別進行各位數的動作,最後判斷一下 %10 的結果
其中奇位數*2後要判斷是否變成2位數字,如6*2=12,就要sum1 += (1+2)
程式(Java):
題意:
每組測資含16位數字(4個4位)
將奇位數字分別*2後,各位數相加得到一個數 sum1
偶位數字相加得到一個數sum2
將sum1 + sum2相加後,若尾數為 0 輸出 Valid,不為 0 輸出 Invalid
解法:
單純的照著做即可,我把每一組測資當成4個4位數字來讀
分別進行各位數的動作,最後判斷一下 %10 的結果
其中奇位數*2後要判斷是否變成2位數字,如6*2=12,就要sum1 += (1+2)
程式(Java):
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.*; | |
public class Main { | |
public static void main(String args[]) { | |
Scanner sc = new Scanner(System.in); | |
int N = sc.nextInt(); | |
while (N-- >0) { | |
int sum1 = 0, sum2 = 0; | |
for (int i = 1; i <= 4; i++) { | |
int num = sc.nextInt(); | |
sum2 += num % 10; | |
num /= 10; | |
int a1 = 2*(num % 10); | |
sum1 += (a1>=10) ? (a1%10 + a1/10) : a1; | |
num /= 10; | |
sum2 += num % 10; | |
num /= 10; | |
a1 = 2 * (num % 10); | |
sum1 += (a1>=10) ? (a1%10 + a1/10) : a1; | |
} | |
if ((sum1 + sum2) % 10 == 0) | |
System.out.println("Valid"); | |
else | |
System.out.println("Invalid"); | |
} | |
} | |
} |
留言
張貼留言