zoukankan      html  css  js  c++  java
  • codeforce

    A. Numbers
    time limit per test
    1 second
    memory limit per test
    64 megabytes
    input
    standard input
    output
    standard output

    Little Petya likes numbers a lot. He found that number 123 in base 16 consists of two digits: the first is 7 and the second is 11. So the sum of digits of 123 in base 16 is equal to 18.

    Now he wonders what is an average value of sum of digits of the number A written in all bases from 2 to A - 1.

    Note that all computations should be done in base 10. You should find the result as an irreducible fraction, written in base 10.

    Input

    Input contains one integer number A (3 ≤ A ≤ 1000).

    Output

    Output should contain required average value in format «X/Y», where X is the numerator and Y is the denominator.

    Sample test(s)
    input
    5
    
    output
    7/3
    
    input
    3
    
    output
    2/1
    
    Note

    In the first sample number 5 written in all bases from 2 to 4 looks so: 101, 12, 11. Sums of digits are 2, 3 and 2, respectively.

     

    #include "stdio.h"
    #include "string.h"
    #include "stdlib.h"
    
    
    int n;
    int ntable[1000] ;
    int su(int d,int n)
    {int i=0,sum=0;
     int r[1000];memset(r,0,100);
     int tmp;
     int l;
         while(d!=0)
          {tmp=d%n;
           r[i]=ntable[tmp];
           i++;
           d/=n;
                    }
         l=i;
         for(i=0;i<l/2;i++)
          {tmp=r[i];
           r[i]=r[l-i-1];
           r[l-i-1]=tmp;
            }
    for(i=0;i<l;i++)
    sum+=r[i];
    return sum;
    }
    
    int gcd(int a,int b){
    int r;
    while(b>0){
    r=a%b;
    a=b;
    b=r;
    }
    return a;
    }
    
    int main(  )
    {
      int a,i=0,ans,fm=0;
      for(i=0;i<1000;i++)
      {
          *(ntable+i)=i;
      }
    while(~ scanf( "%d",&a ))
      {
          fm=a-1;ans=0;
       for(i=2;i<=fm;i++)
       {
           ans+=su(a,i) ;
        }
    printf( "%d/%d
    ",ans/gcd(ans,fm-1),(fm-1)/gcd(ans,fm-1) );
      }
      return 0;
    }
    


  • 相关阅读:
    activeMq-1 快速入门
    netty2 案例:数据通信
    SQL学习分享之数据链接(二)
    SQL学习 (一)
    CSS的定位重叠
    CSS 伪类 学习
    Jmeter 初学(三)
    玩转codeacademy (三)
    玩转codecademy (二)
    玩转codecademy(首次体会对象的乐趣) (一)
  • 原文地址:https://www.cnblogs.com/slankka/p/9158629.html
Copyright © 2011-2022 走看看