藍橋杯練習系統之基礎練習
阿新 • • 發佈:2019-02-08
BASIC-13 數列排序
題目
題解
1234567891011121314151617 | import java.util.Arrays;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner reader = new Scanner(System.in); int n = reader.nextInt(); final int MAX = n; int arry[] = new int[MAX]; for(int i = 0; i < n; ++i) { arry[i] = reader.nextInt(); |
BASIC-12 十六進位制轉八進位制
題目
題解
123456789101112131415161718192021222324252627282930313233343536373839 | import java.util.Arrays;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in=new |
BASIC-11 十六進位制轉十進位制
題目
題解
12345678910111213141516171819202122232425262728293031323334353637 | int main(){ int index = 0, strLength = 0; long long dec = 0; char * hex = (char *) malloc ( sizeof(char) ); scanf("%s", hex); strLength = strlen(hex); for (index = 0; index < strLength; ++index) { switch (*(hex+index)) { case '0': dec += 0 * pow(16, (strLength-index-1));break; case '1': dec += 1 * pow(16, (strLength-index-1));break; case '2': dec += 2 * pow(16, (strLength-index-1));break; case '3': dec += 3 * pow(16, (strLength-index-1));break; case '4': dec += 4 * pow(16, (strLength-index-1));break; case '5': dec += 5 * pow(16, (strLength-index-1));break; case '6': dec += 6 * pow(16, (strLength-index-1));break; case '7': dec += 7 * pow(16, (strLength-index-1));break; case '8': dec += 8 * pow(16, (strLength-index-1));break; case '9': dec += 9 * pow(16, (strLength-index-1));break; case 'A': dec += 10 * pow(16, (strLength-index-1));break; case 'B': dec += 11 * pow(16, (strLength-index-1));break; case 'C': dec += 12 * pow(16, (strLength-index-1));break; case 'D': dec += 13 * pow(16, (strLength-index-1));break; case 'E': dec += 14 * pow(16, (strLength-index-1));break; case 'F': dec += 15 * pow(16, (strLength-index-1));break; default:printf("Error hex data.\n"); break; } } printf("%lld\n", dec); return 0;} |
BASIC-10 十進位制轉十六進位制
題目
題解
1234567891011121314151617181920212223242526272829303132333435363738 | int main(){ int res = 0, mod = 0, dec = 0, index = 0; char * hex = (char *) malloc (sizeof(char)); scanf("%d", &dec); res = dec; do { mod = res % 16; switch(mod) { case 0: *(hex+index) = '0'; break; case 1: *(hex+index) = '1'; break; case 2: *(hex+index) = '2'; break; case 3: *(hex+index) = '3'; break; case 4: *(hex+index) = '4'; break; case 5: *(hex+index) = '5'; break; case 6: *(hex+index) = '6'; break; case 7: *(hex+index) = '7'; break; case 8: *(hex+index) = '8'; break; case 9: *(hex+index) = '9'; break; case 10: *(hex+index) = 'A'; break; case 11: *(hex+index) = 'B'; break; case 12: *(hex+index) = 'C'; break; case 13: *(hex+index) = 'D'; break; case 14: *(hex+index) = 'E'; break; case 15: *(hex+index) = 'F'; break; default:break; } ++index; } while ( (res = res / 16) != 0 ); for (index = index-1; index >= 0; --index) { printf("%c", *(hex+index)); } return 0;} |
BASIC-9 特殊迴文數
題目
題解
1234567891011121314151617181920212223242526272829303132333435 | int main(){ unsigned int n = 0; int a, b, c; scanf("%d", &n); for (a = 1; a <= 9; ++a) { for (b = 0; b <= 9; ++b) { for (c = 0; c <= 9; ++c) { if ( n == (a+b)*2 + c ) { printf("%d\n", (a*10000+b*1000+c*100+b*10+a)); } } } } // 沒有把迴圈合併在一起的原因是題目要求 從小到大 輸出 for (a = 1; a <= 9; ++a) { for (b = 0; b <= 9; ++b) { for (c = 0; c <= 9; ++c) { if ( n == (a+b+c) * 2 ) { printf("%d\n", (a*100000+b*10000+c*1000+c*100+b*10+a)); } } } } return 0;} |
BASIC-8 迴文數
題目
題解
12345678910111213 | int main(){ int a, b; for (a = 1; a <= 9; ++a) { for (b = 0; b <= 9; ++b) { printf("%d\n", (a*1000+b*100+b*10+a)); } } return 0;} |
BASIC-7 特殊的數字
題目
題解
1234567891011121314151617181920 | int main(){ int a, b, c; for (a = 1; a <= 9; ++a) { for (b = 0; b <= 9; ++b) { for (c = 0; c <= 9; ++c) |