zoukankan      html  css  js  c++  java
  • 【HDOJ】1061 Rightmost Digit

    这道题目可以手工打表,也可以机器打表,千万不能暴力解,会TLE。

     1 #include <stdio.h>
     2 
     3 #define MAXNUM 1000000001
     4 
     5 int buf[10][10];
     6 
     7 int main() {
     8     int case_n, n;
     9     int i, j;
    10 
    11     for (i=0; i<10; ++i) {
    12         buf[i][0] = 1;
    13         buf[i][1] = i;
    14         for (j=2; j<10; ++j) {
    15             buf[i][j] = buf[i][j-1]*i%10;
    16             if (buf[i][j] == buf[i][1])
    17                 break;
    18             buf[i][0]++;
    19         }
    20     }
    21     /*
    22     for (i=0; i<10; ++i) {
    23         printf("%d:", i);
    24         for (j=1; j<=buf[i][0]; ++j)
    25             printf(" %d", buf[i][j]);
    26         printf("
    ");
    27     }
    28     */
    29     scanf("%d", &case_n);
    30 
    31     while (case_n--) {
    32       scanf("%d", &n);
    33       i = n % 10;
    34       j = n % buf[i][0];
    35       if (!j)
    36           j = buf[i][0];
    37       printf("%d
    ", buf[i][j]);
    38     }
    39 
    40     return 0;
    41 }
  • 相关阅读:
    C C++ 数字后面加 LL是什么意思
    stdio.h cstdio的区别
    printf scanf cin cout的区别与特征
    PAT Basic 1020
    PAT Basic 1012
    PAT Basic 1046
    PAT Basic 1026
    PAT Basic 1011
    PAT Basic 1016
    PAT Basic 1009
  • 原文地址:https://www.cnblogs.com/bombe1013/p/3636256.html
Copyright © 2011-2022 走看看