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;
    }
    


  • 相关阅读:
    mysql常用命令汇总
    jmeter操作JDBC
    WEB常见产品问题及预防
    WEB测试常见问题汇总
    java团员信息管理系统
    java图书信息管理系统
    java失业保险信息管理系统
    java商场信息管理系统
    java旅行社网站建设
    java教学进度信息管理系统
  • 原文地址:https://www.cnblogs.com/slankka/p/9158629.html
Copyright © 2011-2022 走看看