给定进制下1-n每一位数的共享(Digit sum)The Preliminary Contest for ICPC Asia Shanghai 2019
题意:https://nanti.jisuanke.com/t/41422
对每一位进行找循环节规律就行了。
- #define IOS ios_base::sync_with_stdio(0); cin.tie(0);
- #include <cstdio>//sprintf islower isupper
- #include <cstdlib>//malloc exit strcat itoa system("cls")
- #include <iostream>//pair
- #include <fstream>//freopen("C:\\Users\\13606\\Desktop\\草稿.txt","r",stdin);
- #include <bitset>
- //#include <map>
- //#include<unordered_map>
- #include <vector>
- #include <stack>
- #include <set>
- #include <string.h>//strstr substr
- #include <string>
- #include <time.h>//srand(((unsigned)time(NULL))); Seed n=rand()%10 - 0~9;
- #include <cmath>
- #include <deque>
- #include <queue>//priority_queue<int, vector<int>, greater<int> > q;//less
- #include <vector>//emplace_back
- //#include <math.h>
- //#include <windows.h>//reverse(a,a+len);// ~ ! ~ ! floor
- #include <algorithm>//sort + unique : sz=unique(b+1,b+n+1)-(b+1);+nth_element(first, nth, last, compare)
- using namespace std;//next_permutation(a+1,a+1+n);//prev_permutation
- #define rint register int
- #define fo(a,b,c) for(rint a=b;a<=c;++a)
- #define fr(a,b,c) for(rint a=b;a>=c;--a)
- #define mem(a,b) memset(a,b,sizeof(a))
- #define pr printf
- #define sc scanf
- #define ls rt<<1
- #define rs rt<<1|1
- typedef long long ll;
- void swapp(int &a,int &b);
- double fabss(double a);
- int maxx(int a,int b);
- int minn(int a,int b);
- int Del_bit_1(int n);
- int lowbit(int n);
- int abss(int a);
- const double E=2.718281828;
- const double PI=acos(-1.0);
- //const ll INF=(1LL<<60);
- const int inf=(<<);
- const double ESP=1e-;
- const int mod=(int)1e9+;
- const int N=(int)1e6+;
- int ans[][];
- ll m[]={,,,,,,,,,,};
- int geet(int n,int b)
- {
- int sum=;
- while(n>)
- {
- sum+=n%b;
- n/=b;
- }
- return sum;
- }
- ll get(ll n,ll b)
- {
- ll temp=n;
- int l=;
- while(temp>)
- {
- temp/=b;
- l++;
- }
- ll sum=;
- ll val[];
- val[l]=;
- n++;
- for(int i=l-;i>=;--i)
- val[i]=val[i+]*b;
- for(int i=;i<=l;++i)
- {
- ll LOOP=n/(val[i]*b);
- sum+=LOOP*m[b]*val[i];
- ll len=n%(val[i]*b);
- int start=;
- while(len>=val[i])
- {
- sum+=start*val[i];
- start++;
- len-=val[i];
- }
- sum+=len*start;
- }
- return sum;
- }
- int main()
- {
- int T,cont=;
- sc("%d",&T);
- while(T--)
- {
- ll n;int b;
- sc("%lld%d",&n,&b);
- for(int i=;i<=;++i)
- {
- ans[i][]=;
- for(int j=;j<=;++j)
- ans[i][j]=ans[i][j-]*b;
- }
- // for(int i=1;i<=100;++i)
- // pr("%lld\n",get(i,2));
- pr("Case #%d: %lld\n",++cont,get(n,b));
- }
- return ;
- }
- /**************************************************************************************/
- int maxx(int a,int b)
- {
- return a>b?a:b;
- }
- void swapp(int &a,int &b)
- {
- a^=b^=a^=b;
- }
- int lowbit(int n)
- {
- return n&(-n);
- }
- int Del_bit_1(int n)
- {
- return n&(n-);
- }
- int abss(int a)
- {
- return a>?a:-a;
- }
- double fabss(double a)
- {
- return a>?a:-a;
- }
- int minn(int a,int b)
- {
- return a<b?a:b;
- }
给定进制下1-n每一位数的共享(Digit sum)The Preliminary Contest for ICPC Asia Shanghai 2019的更多相关文章
- The Preliminary Contest for ICPC Asia Xuzhou 2019 【 题目:so easy】{并查集维护一个数的下一个没有被删掉的数} 补题ING
题意:给[1,n],n个数,有两种操作: 1 x,删去x2 x,查询还未被删去的数中大于等于x的最小的数是多少. input: output: 做法:按照并查集的方法压缩路径 代码: #include ...
- PAT 1015 Reversible Primes[求d进制下的逆][简单]
1015 Reversible Primes (20)(20 分)提问 A reversible prime in any number system is a prime whose "r ...
- (找到最大的整数k使得n! % s^k ==0) (求n!在b进制下末尾0的个数) (区间满足个数)
题目:https://codeforces.com/contest/1114/problem/C 将b分解为若干素数乘积,记录每个素数含多少次方 b = p1^y1·p2^y2·...·pm^ym. ...
- n!在k进制下的后缀0
问n! 转化成k进制后的位数和尾数的0的个数.[UVA 10061 How many zeros and how many digits?] Given a decimal integer numbe ...
- bzoj 3000 Big Number 估算n!在k进制下的位数 斯特林公式
题目大意 求n!在k进制下的位数 2≤N≤2^31, 2≤K≤200 分析 作为数学没学好的傻嗨,我们先回顾一下log函数 \(\log_a(b)=\frac 1 {log_b(a)}\) \(\lo ...
- 牛客小白月赛6 水题 求n!在m进制下末尾0的个数 数论
链接:https://www.nowcoder.com/acm/contest/135/C来源:牛客网 题目描述 其中,f(1)=1;f(2)=1;Z皇后的方案数:即在Z×Z的棋盘上放置Z个皇后,使其 ...
- 51 Nod 1116 K进制下的大数
1116 K进制下的大数 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 有一个字符串S,记录了一个大数,但不知这个大数是多少进制的,只知道这个数 ...
- 求x!在k进制下后缀零的个数(洛谷月赛T1)
求x!在k进制下后缀和的个数 20分: 求十进制下的x!后缀和的个数 40分: 高精求阶乘,直接模拟过程 (我不管反正我不打,本蒟蒻最讨厌高精了) 60分 利用一个定理(网上有求x!在 ...
- 求一个数的阶乘在 m 进制下末尾 0 的个数
题意 : 求一个数 n 的阶层在 m 进制下末尾 0 的个数 思路分析 : 如果是 10 进制地话我们是很容易知道怎么做的,数一下其对 5 约数地个数即可,但是换成 m 进制的话就需要先将 m 分解质 ...
随机推荐
- deepin Linux 安装+工作学习配置
一 安装 在官网下载 U盘安装,神舟优雅x4开机按F7,选择U盘启动. U盘安装器在下载的镜像文件中. 二 配置 升级最新系统 设置root用户密码: dawn@dawn-PC:~$ sudo pas ...
- Django-静态文件导入/url命名及反向解析
一.静态文件导入 js.css.img等都叫做静态文件,那么关于django中静态文件的配置,我们就需要在settings配置文件里面写上这写内容: # STATIC_URL = '/xxx/' #别 ...
- Java数组分配内存空间
分配内存空间 数组名=new 数据类型[数组长度]: new关键字用来实现为数组或对象分配内存 数组具有固定的长度.获取数组的长度: 数组名.length 定义数组+分配内存空间 数据类型[]数组名= ...
- python位运算版的算术四则运算
#!/usr/bin/python # -*- coding: utf-8 -*- class ElementOperator: def add(self, num1, num2): # 32bits ...
- JAVA单元测试的用法和要点
2018年09月25日 10:11:18 琼歌 阅读数 5192 版权声明:禁止转载 https://blog.csdn.net/qq_36505948/article/details/827 ...
- LeetCode 229. 求众数 II(Majority Element II )
题目描述 给定一个大小为 n 的数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素. 说明: 要求算法的时间复杂度为 O(n),空间复杂度为 O(1). 示例 1: 输入: [3,2,3] 输出: ...
- legend3---10、vue与lavarel的blade模板加jquery页面开发方式比较
legend3---10.vue与lavarel的blade模板加jquery页面开发方式比较 一.总结 一句话总结: lavarel的blade模板加jquery:速度快一点:速度快一点,页面加载数 ...
- mysql 创建++删除 数据库
创建RUNOOB数据库,并设定编码集为utf8 CREATE DATABASE IF NOT EXISTS RUNOOB DEFAULT CHARSET utf8 COLLATE utf8_gener ...
- 【MyBatis】实现in操作符在WHERE 子句中规定多个值
Mapper.xml中写: <select id="selectIdsByDate" resultType="java.lang.Long"> se ...
- Spring数据分析思维课
本文目录 一.杂 二.四大行业数据分析 1.工具 1.电商数据分析——以京东为例 2.sql常见问题 2.互联网金融——以芝麻信用为例 3.数据异常排查 3.游戏行业——以欢乐斗地主为例 4.融入 ...