我自己測了那兩組資料都是對的,但丟上去就錯了,
以下是我的思考
//思考作法:
1.採取一個int一個int讀入
2.迴圈:先用一個陣列arr1將input的16個data存入後
3.if/esle:判斷位子位於偶數的data需要乘上2後再用另一個陣列arr2分別將乘上的資料一一讀入
4.判斷位子位於奇數的data需要將資料一一相加到變數num2
5.迴圈:將陣列arr2的資料相加到num1
6.if/else:判斷num1是否與num1相加後個位數為0,並分別列印出invalid/ valid
1.int arr[16*set];2.scanf("%d",&arr[i]);3.printf("Vaild\n");
1.int arr[16*set];2.scanf("%d",&arr[i]);3.printf("Vaild\n");
- 測資很大,會放不下
- 你這樣會變成一次讀取四個數字,可以用getchar()一次讀取一個字元,或是設定寬度用%1d也可以,但是我這樣寫壓線1.9s AC
- Valid
另外我覺得你寫得太複雜了,我的寫法是奇數項直接加,偶數項如果小於5直接乘2,否則乘2減9