C   113
long long gcd
Guest on 11th February 2023 01:27:46 AM


  1. #include<stdio.h>
  2. #include<string.h>
  3. long long c[25][151];
  4. long long m[25][151];
  5. long long gcd(long long a, long long b){
  6.         long long r;
  7.         while(b != 0){
  8.                 r = a%b;
  9.                 a = b;
  10.                 b = r;
  11.         }
  12.         return a;
  13. }
  14. int main(){
  15.         int i, j, g;
  16.         long long k, t;
  17.         memset(c, 0, sizeof(c));
  18.         for(i=1; i<=6; i++){
  19.                 c[1][i] = 1;
  20.                 m[1][i] = 6;
  21.         }
  22.         for(i=2, k=36; i<=24; i++, k*=6){
  23.                 for(j=1; j<=150; j++){
  24.                         for(g=1; j-g>0 && g<=6; g++){
  25.                                 if(j - g > 0)
  26.                                         c[i][j] += c[i-1][j - g];
  27.                         }
  28.                         m[i][j] = k;
  29.                 }
  30.         }
  31.  
  32.         while(1){
  33.                 scanf("%d %d", &i, &j);
  34.                 if(i == 0 && j == 0) break;
  35.                 t = 0;
  36.             for(g=j; g<=6*i; g++){
  37.                         t += c[i][g];
  38.                 }
  39.                
  40.                 if(t != 0){
  41.                         if(t != m[i][j]){
  42.                                 k = gcd(m[i][j], t);
  43.                                 if(k != 1){
  44.                                         t /= k;
  45.                                         m[i][j] /= k;
  46.                                 }
  47.                                 printf("%lld/%lld\n", t, m[i][j]);
  48.                         }else{
  49.                                 puts("1");
  50.                         }
  51.                 }else{
  52.                         printf("0\n");
  53.                 }
  54.         }
  55.     getchar();
  56.     return 0;
  57. }

Raw Paste

Login or Register to edit or fork this paste. It's free.