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


  • 相关阅读:
    jTopo——js库
    node.js
    php 入门笔记
    D3 入门笔记
    webpack笔记
    React.js
    Grunt等前端自动化构建工具
    vue3.0的新特性
    electron-builder 打包流程
    vue里面如何下载图片,如何下载文件
  • 原文地址:https://www.cnblogs.com/slankka/p/9158629.html
Copyright © 2011-2022 走看看