poj3191(负进位制)】的更多相关文章

题目链接:https://vjudge.net/problem/POJ-3191 题意:将一个int范围的整数用-2进制表示并输出. 思路:将十进制转换成-2进制,原理也类似于短除法.但不同的是不是简单的取模,因为在复数方面对余数的定义可能造成二义性.假设要转换成a进制(a<0),一般的做法是找到最小的非负整数x,使得当前的数减x能被a整除,这个x就将作为新的最高位写到结果中去,然后当前数减x除以a.直到当前数为0. AC代码: #include<cstdio> using namesp…
http://poj.org/problem?id=3191 题意:将一个整型的十进制整数转化为-2进制整数. #include <stdio.h> #include <algorithm> #include <stdlib.h> #include <string.h> #define LL long long using namespace std; int main() { LL n,s[]; while(~scanf("%lld",…
时间限制: 1 s  空间限制: 32000 KB  题目等级 : 青铜 Bronze 题目描述 Description 著名科学家卢斯为了检查学生对进位制的理解,他给出了如下的一张加法表,表中的字母代表数字. 例如下图: 其含义为: L+L=L,L+K=K,L+V=V,L+E=E K+L=K,K+K=V,K+V=E,K+E=KL         …… E+E=KV + L K V E L L K V E K K V E KL V V E KL KK E E KL KK KV 根据这些规则可推导…
题目大意 ​ 小Q发明了一种进位制,每一位的变化范围是\(0\)~\(b_i-1\),给你一个这种进位制下的整数\(a\),问你有多少非负整数小于\(a\).结果以十进制表示. ​ \(n\leq 120000,0\leq a_i<b_i\leq 1000000\) 题解 ​ 就是求这个数. ​ 那没什么好说的,直接分治FFT 处理左半边(低位)的\(c_1=\prod b_i\)和答案\(d_1\),右半边的\(c2,d2\) ​ 那么\(c=c_1\times c_2,d=d_2\times…
字典序:(联合康托展开就也可以按照中介数求) 邻位对换.递增进位制数,递减进位制数:具体的实现和算法讲解如下: 代码..C++版的实现并不好..因为是挨个向后找的,如果K很大的时候会超时,不过...思路是这样...,第二版C++没有完成...因为不想写了,思路很简单,一次加减K就可以了 python代码直接给出,很完美 #include<cstdio> #include<cstring> #include<vector> #include<algorithm>…
Weird Numbers 题目链接: http://acm.hust.edu.cn/vjudge/contest/129733#problem/F Description Binary numbers form the principal basis of computer science. Most of you have heard of other systems, such as ternary, octal, or hexadecimal. You probably know how…
题目大意 一个数每一位进制不同,已知每一位的进制,求该数的十进制表达. 显然有 $$Ans=\sum\limits_{i=0}^{n-1}a_i \prod\limits_{j=0}^{i-1}base_j$$ 若不考虑高精度则线性复杂度内由低位向高位递推即可,但考虑高精度的话即使压位也会$TLE$. 采用分治$+FFT$加速运算的方法. 分别求出第$1$至第$\frac n2$位和第$\frac n2+1$至第$n$位的答案,顺便求出$\prod\limits_{i=0}^{\frac n2}…
和平常的转化差不多 加多一步 如果余数 < 0, 那么余数减去除数(此时除数是负),商数加1 #include<cstdio> #define _for(i, a, b) for(int i = (a); i <= (b); i++) using namespace std; void cal(int n, int m) { if(n == 0) return; int p = n % m; n /= m; if(p < 0) p -= m, n++; cal(n, m);…
问题: 满足下面两种限制条件下要想称出40以内的任何整数重量,最少要几个砝码: i)如果砝码只能在天平的某一边; ii)如果砝码可以放在天平的两边. 提示:对于 i)先证明如下事实: \[\textbf{砝码 $1,2,4,\cdots,2^{n-1}$ 可以称出 $2^n-1$ 以内的任何整数质量,且没有其他的仅由 $n$ 个砝码组成的集合具有同样的称重效果(能称出同样多的一列从 $1$ 开始的连续重量)}\] 分析: 因为 \(1\) 到 \(2^n-1\) 的任何正整数无一例外的可以用唯一…
转自ACdream. #include <stdio.h> #include <string.h> #include <stdlib.h> #define MAXSIZE 60000 char in[MAXSIZE]; int oldbase,newbase; int a[MAXSIZE],b[MAXSIZE],r[MAXSIZE]; int getNum(char c) { '; ; ; } char getChar(int i) { && i <…
题意很简单,就是求这个数... 其实场上我想出了分治fft的正解...然而不会打...然后打了个暴力fft挂了... 没啥好讲的,这题很恶心,卡常卡精度还爆int,要各种优化,有些dalao写的很复杂我都没看懂...我写的是每三位拆分然后再合并 代码: //强烈谴责卡常数而需要大量优化 //upd:还卡精度... #include<algorithm> #include<iostream> #include<cstring> #include<cstdio>…
02.01_Java语言基础(常量的概述和使用)(掌握) A:什么是常量 在程序执行的过程中其值不可以发生改变 B:Java中常量的分类 字面值常量 自定义常量(面向对象部分讲) C:字面值常量的分类 字符串常量        用双引号括起来的内容 整数常量        所有整数 小数常量        所有小数 字符常量        用单引号括起来的内容,里面只能放单个数字,单个字母或单个符号 布尔常量        较为特殊,只有true和false 空常量        null(数组…
参考:中文维基 二进制 位操作(wiki) Byte字节 互联网数据处理:Base64数据编码 Python的模块Base64 16进制简介 python: bytes对象 字符集介绍:ascii 二进制简介: In mathematics and digital electronics, a binary number is a number expressed in the base-2 numberal system or binary numeral system, which uses…
题目描述 我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(值减1)为指数,以10为底数的幂之和的形式.例如:123可表示为 1*10^2+2*10^1+3*10^0这样的形式. 与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置的(值-1)为指数,以2为底数的幂之和的形式.一般说来,任何一个正整数R或一个负整数-R都可以被选来作为一个数制系统的基数.如果是以R或-R为基数,则需要用到的数码为 0,1,....R-1.例如,当R=7时…
洛谷P1017 进制转换 题目描述 我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(值减1)为指数,以10为底数的幂之和的形式.例如:123可表示为 \(1*10^2+2*10^1+3*10^0\) 这样的形式. 与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置的(值-1)为指数,以2为底数的幂之和的形式.一般说来,任何一个正整数R或一个负整数-R都可以被选来作为一个数制系统的基数.如果是以R或-R为基数,则需要用到的数码为 0,…
题一   进制转换              (18分)  问题描述      我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(值减1)为指数,以10为底数的幂之和的形式.例如:123可表示为 1*102+2*101+3*100这样的形式. 与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置的(值-1)为指数,以2为底数的幂之和的形式.一般说来,任何一个正整数R或一个负整数-R都可以被选来作为一个数制系统的基数.如果是以R或-R为基…
题目要求有两种情况,第一种from情况,正常输出即可,很简单.第二种是to情况,给一个数字,输出负进制R的原码,这个有点小麻烦...解决方法如下; 首先,把这个数n按正常方式展开,形式如下: .....(n/R^k) % R, (n/R^k-1) % R , (n/R^k-2) % R,......(n/R^2) % R , (n/R^1) % R , n % R; R^(k) R^(k-1) R^(k-2) R^2 R^1 R^0 (上下对应位相乘得n); 但是我们这样展开如果直接输出是不可以…
一.进制 1.进制简介 进制就是进位制,是人们规定的一种进位方法.计算机底层的数据运算和存储都是二进制数据.计算机语言就是二进制,计算机能直接识别二进制数据,其它数据都不能直接识别. 2.常用进制 对于任何一种进制---X进制,就表示某一位置上的数运算时是逢X进一位. 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位.我们经常使用的是二进制.八进制.十进制.十六进制. 十进制:有10个基本数字,分别为0.1.2.3.4.5.6.7.8.9,运算规则"逢十进…
一.分支语句 计算机源于生活,程序模拟现实生活,从而服务生活 行为模式 1,起床,刷牙,洗脸,吃早餐,上课,回家,睡觉(顺序性) 2,如果时间不太够,打个滴滴快车,如果时间够,坐个地铁(选择性) 3,上完了一个班,又上一个班(重复性) 计算机源于生活(程序模拟现实生活的) 程序的执行流程 ,顺序性 ,选择性 ,循环性 1.If结构语句 a) if语句 基本语法结构: if(关系表达式) { 基本语句体 } 执行流程: 首先判断关系表达式看其结果是true还是false 如果是true就执行…
DOS是一种用户单任务磁盘操作系统.在DOS中,我们可以通过DOS命令来管理设备和文件,如打印文件.删除文件,复制文件,创建新的文件夹和文档并编写内容等功能同时也是JAVA编程基础的一个入门.进入DOS由窗口键+R键然后输入cmd就进入DOS常用的DOS命令有:dir:查看当前目录:md 目录名(文件夹名):创建文件夹;cd 文件夹:进入文件夹;copy con 文档名.txt:创建文档;type 文档名:查看文档内容:rd 文件名:删除文件夹(只能删除空的文件夹);del 文档名:删除文档:c…
推荐洛谷 题目描述 我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(值减1)为指数,以10为底数的幂之和的形式.例如:123可表示为 1*10^2+2*10^1+3*10^0这样的形式. 与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置的(值-1)为指数,以2为底数的幂之和的形式.一般说来,任何一个正整数R或一个负整数-R都可以被选来作为一个数制系统的基数.如果是以R或-R为基数,则需要用到的数码为 0,1,....R-1.例如,…
进制: 进制是一种记数方式 ,可以用有限的数字符号代表所有的数值.由特定的数值组成. 1整型的表现形式 1.十进制: 都是以0-9这九个数字组成,不能以0开头. 2.二进制: 由0和1两个数字组成. 3.八进制: 由0-7数字组成,为了区分与其他进制的数字区别,开头都是以0开始. 4.十六进制:由0-9和A-F组成.为了区分于其他数字的区别,开头都是以ox开始. 2进制的由来 几乎每个民族最早都使用都十进制计数法,这是因为人类计数时自然而然地首先使用的是十个手指. 但是这不等于说只有十进制计数法…
十进制 人类天然选择了十进制. 二进制 二进制有两个特点:它由两个数码0,1组成,二进制数运算规律是逢二进一. 四进制 四进制是以4为基数的进位制,以 0.1.2 和 3 四个数字表示任何实数. 七进制 七进制是以7为基数的计数系统.使用数码0-6. 八进制 由于二进制数据的基数R较小,所以二进制数据的书写和阅读不方便,为此,在小型机中引入了八进制. 八进制的基数R=8=2^3,有数码0.1.2.3.4.5.6.7,并且每个数码正好对应三位二进制数,所以八进制能很好地反映二进制. 八进制用下标8…
题目描述 我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(值减1)为指数,以10为底数的幂之和的形式.例如:123可表示为 1\times 10^2+2\times 10^1+3\times 10^01×102+2×101+3×100 这样的形式. 与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置的(值-1)为指数,以2为底数的幂之和的形式.一般说来,任何一个正整数R或一个负整数-R都可以被选来作为一个数制系统的基数.如果是以R或…
问题描述 我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(值减1)为指数,以10为底数的幂之和的形式.例如:123可表示为 1*102+2*101+3*100这样的形式. 与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置的(值-1)为指数,以2为底数的幂之和的形式.一般说来,任何一个正整数R或一个负整数-R都可以被选来作为一个数制系统的基数.如果是以R或-R为基数,则需要用到的数码为 0,1,....R-1.例如,当R=7时,所需…
一: 进制转换 在计算机中, 数据都是以0和1来表示的 进制: 进位制 十进制: 数字由0~9这10个数字来表示, 逢10进1位 0 1 2 3 4 5 6 7 8 9 10 二进制: 数字由0和1这两个数字来表示, 逢2进1位 0 1 10 11 100 101 110 111 1000.... 八进制: 由0~7来表示一个数字, 逢8进1 0 1 2 3 4 5 6 7 10 11 ... 十六进制: 由0~9和a~f来表示一个数字, 逢16进1 0 1 2 3 4 5 6 7 8 9 a…
题目描述 著名科学家卢斯为了检查学生对进位制的理解,他给出了如下的一张加法表,表中的字母代表数字. 例如: L K V E L L K V E K K V E KL V V E KL KK E E KL KK KV 其含义为: L+L=L,L+K=K,L+V=V,L+E=E K+L=K,K+K=V,K+V=E,K+E=KL …… E+E=KV 根据这些规则可推导出:L=0,K=1,V=2,E=3 同时可以确定该表表示的是4进制加法 //感谢lxylxy123456同学为本题新加一组数据 输入输出…
感觉这个题 是真的恶心 本来单纯就递归写,发现好难 后来用数组记录 然后考虑 指数为 奇和偶数 分别 <0 和 > 进制的情况 其实 用进制数为3 大概讨论四种情况就可以了 由于最近就是在划水,就随便写了写代码 也没好好修改,大概过了 #include<bits/stdc++.h> using namespace std; ]; int f(int n,int k) { ; while (n) { s[t++] = n%k; n/=k; } return t; } int main…
//for循环嵌套练习——打一个九九乘法表 ; i <= ; i++) { ; j <= i; j++) { Console.Write(j + "×" + i + "=" + i * j + "\t"); } Console.WriteLine(); } //for循环嵌套练习——输入一个正整数,打印一个n*n的矩阵,再打4个三角形,打一个菱形 //n*n的矩阵 Console.Write("请输入一个正整数:"…
题目描述 著名科学家卢斯为了检查学生对进位制的理解,他给出了如下的一张加法表,表中的字母代表数字. 例如: + L K V E L L K V E K K V E KL V V E KL KK E E KL KK KV 其含义为: L+L=L,L+K=K,L+V=V,L+E=E K+L=K,K+K=V,K+V=E,K+E=KL -- E+E=KV 根据这些规则可推导出:L=0,K=1,V=2,E=3 同时可以确定该表表示的是4进制加法 //感谢lxylxy123456同学为本题新加一组数据 输入…