CodeForces 13A Numbers

题目链接:http://codeforces.com/problemset/problem/13/A

题意:给出一个A,范围是3-1000,求2-(A-1) 进制下 A的各位数字上的和的平均数,以(分子/分母)的最简的形式输出。

分析: 例如 5。

二进制 101 为2

三进制 12 为3

四进制 11 为2

平均值为7/3;

代码:

#include<cstdio>
#include<cmath>
#include<cstring>
#include<queue>
#include<stack>
#include<cstdlib>
#include<iomanip>
#include<string>
#include<vector>
#include<map>
#include<string>
#include<iostream>
#include<algorithm>
using namespace std;
#define INF 0x3f3f3f3f
typedef long long ll;
#define Max(a,b) (a>b)?a:b
#define lowbit(x) x&(-x)

int main()
{
    int n,sum=0,tt=0,t;
    scanf("%d",&n);
    for(int i=2;i<=n-1;i++)
    {
        t=n;
        while(t)
        {
            sum+=t%i;
            t/=i;
        }
        tt+=sum/(n-2);
        sum%=(n-2);
    }
    n-=2;
    if(sum!=0)
    {
        t=__gcd(sum,n);
    sum/=t;
    n/=t;
    }
    sum+=n*tt;
    if(sum!=0)
    {
        t=__gcd(sum,n);
    sum/=t;
    n/=t;
    }
    else
        n=1;
    printf("%d/%d\n",sum,n);
}

时间: 2024-11-20 12:40:09

CodeForces 13A Numbers的相关文章

codeforces Beautiful Numbers

来源:http://codeforces.com/problemset/problem/1265/B B. Beautiful Numbers time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output You are given a permutation p=[p1,p2,…,pn]p=[p1,p2,…,pn] of integers

CodeForces 213B Numbers

$dp$,组合数. $dp[i][j]$表示只用数字$i$,$i+1$,$i+2$......,$9$,凑成长度为$j$的并且数字$i$到$9$符合要求的方案数.只要枚举数字$i$用几个就可以转移了. $dp[i][j] = \sum\limits_{k = a[i]}^n {(dp[i + 1][j - k]} *c[j][k])$,$0$的时候需要特别写一下转移方程,因为$0$不能放在第一位. #include<cstdio> #include<iostream> #inclu

CodeForces 128D Numbers(贪心?)

题意: 就是给你n个正整数数(3 <= n <= 10^5), 每个正整数数都不超过10^9, 现在问是否能将这n个数排成一个环, 使得换上相邻两个数的差都是1 表示也不知道解法的正确性如何 ,  YY了一下 题解: 就是拿出n 个数里面最大的,  然后往小了选, 如果接下来需要的小1的没有了,就跳到比这个数大1 的 ,  跑到末尾之后,  看看最后一个是否和第一个相差1 ,  感觉这么做能过... 代码: #include<stdio.h> #include<string.

数位dp整理

1.CodeForces 55DBeautiful numbers 题目大意:一个数是幸运数当且仅当这个数能整除所有位数,求[a,b]有多少幸运数 #include<iostream> #include<stdio.h> #include<string.h> using namespace std; const int maxa = 20; const int mod = 2520; long long dp[maxa][1<<8][mod]; #defin

Codeforces 9C Hexadecimal&#39;s Numbers - 有技巧的枚举

2017-08-01 21:35:53 writer:pprp 集训第一天:作为第一道题来讲,说了两种算法, 第一种是跟二进制数联系起来进行分析: 第二种是用深度搜索来做,虽然接触过深度搜索但是这种题型还是我第一次见: 题目: 统计1~n之间有多少数字只由0,1构成 1 ≤ n ≤ 1e9 用深度搜索解决这种问题: 代码如下: #include <iostream> #include <map> using namespace std; map<int,int>vis;

[2016-04-14][codeforces][630][C][ Lucky Numbers]

时间:2016-04-14 23:12:27 星期四 题目编号:[2016-04-14][codeforces][630][C][ Lucky Numbers] 题目大意: 问n位数字以内的幸运数字有多少个 幸运数字:只含有7,8的数字 分析: 长度为i 的幸运数字,每一位有两种可能,7 , 8,那么长度为i的幸运数字总共有 $2^i$中可能 那么长度为n 以内的所有幸运数字 就是 $2^1 + 2^2 + - + 2^n$, #include<cstdio> using namespace

codeforces 446C DZY Loves Fibonacci Numbers(数学 or 数论+线段树)

In mathematical terms, the sequence Fn of Fibonacci numbers is defined by the recurrence relation F1 = 1; F2 = 1; Fn = Fn - 1 + Fn - 2 (n > 2). DZY loves Fibonacci numbers very much. Today DZY gives you an array consisting of n integers: a1, a2, ...,

Codeforces 449D:Jzzhu and Numbers

Codeforces 449D:Jzzhu and Numbers 题目链接:http://codeforces.com/problemset/status?friends=on 题目大意:给出$n$个数,求有多少种组合使得$a_{i_1}\&a_{i_2}\&...\&a_{i_k}=0(0 \leqslant i < n)$,答案对$10^9+7$取模. 容斥原理+DP 设位与$(\&)$后二进制表示中有$k$个$1$的组合数为$A_k$,则有, $A_0=$所有

codeforces 446C DZY Loves Fibonacci Numbers 数论+线段树成段更新

DZY Loves Fibonacci Numbers Time Limit:4000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Status Appoint description:  System Crawler  (2014-07-14) Description In mathematical terms, the sequence Fn of Fibonacci numbers is defi