4月1日复习题十进进数化为其它进制数
更新时间:2023-03-16 21:33:01 阅读量: 教育文库 文档下载
- 4月1日复试的学校推荐度:
- 相关推荐
例1、 把十进数化为非十进制数。方法:短除法,倒取余数
例:15(10)=1111(2) 15(10)=17(8) 160(10)=A0(16) Var n,m,k,j,i:longint; a:array[1..100] of integer; begin
readln(n,m);
write(n,’(10)=’); k:=n;
while k<>0 do begin i:=i+1;
a[i]:=k mod m; k:=k div m; end;
for j:=i downto 1 do 必须考虑到转化为十六进进数的特殊情况 if (a[j]>9) then write(chr(a[j]+55)) else write(a[j]); write(‘(’,m,’)’);end.
例2、 非十进数转化为十进制数。1110111011 string L=10 11001(2)=1*2*2*2*2+1*2*2*2+0*2*2+0*2+1=25(10) A0(16)=160(10) Var s:ansistring; i,l,n,q,t,j:longint;
a:array[1..255] of integer; begin
readln(s); 必须分行输入,为什么? readln(n); L:=length(s);
for i:=1 to L do begin
if (s[i]>='A') and (s[i]<='F') then a[i]:=ord(s[i])-55; if (s[i]>='0') and (s[i]<='9') then a[i]:=ord(s[i])-48; t:=1;for j:=1 to L-I do t:=t*n; q:=q+ a[I]*t; end;
write(q); end.
例3、 编制一个不超过十六进制的数制转换程序 (中间桥梁:十进制) 456(8)=302(10)=100101110(2) var
a:array[0..100] of longint; s:string;
t,n,m,i,j,l,k:longint; begin
readln(s); readln(n,m); l:=length(s); for i:=1 to l do begin
if (s[i]>='A') and (s[i]<='Z') then a[i]:=ord(s[i])-55; if (s[i]>='0') and (s[i]<='9') then a[i]:=ord(s[i])-48; k:=1;
for j:=1 to l-i do k:=k*n; t:=t+a[i]*k; end;
writeln(t);
if m=10 then exit; l:=0;
while t<>0 do begin l:=l+1;
a[l]:=t mod m; t:=t div m; end;
for i:=l downto 1 do
if a[i]>9 then write(chr(a[i]+55)) else write(a[i]); end.
第二题 乐乐的数字
问题描述:
乐乐最近喜欢研究回文数,假设一个数从左到右读跟从右到左读的结果是一样的,那么我们说这个数是一个回文数。 如果一个数在十进制下是回文的,我们说这个数是一重回文数,如果一个数在十进制和二进制下是回文的,我们说这个数是二重回文数,如果一个数在三种进制下是回文的,我们说这个数是三重回文数……。现在我们用数字0..9,字母‘A’..‘Z’分别代表数字0..35(即10用A表示,11用B表示……,35用Z表示),任意给出一个10进制数,
乐乐想知道它在2至36进制里是多少重的回文数。 输入格式:
输入文件只有一个10进制的整数n(2<=n<=2000000000); 输出格式:
第一行为一个整数m,表示n在2至36进制里有m种是回文的; 接下来是m行,从小到大输出n在哪些进制下是回文的。 输入样例:
输出样例: 50
3
7 方法一:数值型:
9 label 10;
24 Var a,b:array[1..1000] of longint;
样例解释: i,k,n,j,t,x:longint;
50对应的7进制数为101,9进制数为55,24进制数为22。 Begin
readln(n);
for i:=2 to 36 do begin
k:=0;x:=n; while x>0 do begin k:=k+1 ;
a[k]:=x mod i; x:=x div i; end;
for j:=1 to k div 2 do if a[j]<>a[k+1-j] then goto 10; t:=t+1;b[t]:=i; 10:end; writeln(t);
for i:=1 to t do writeln(b[i]); end.
方法二:字符串型 label 10;
var a:packed array[1..10000]of string; n,k,t,i,x,j,m,b:longint;c:array[1..36]of longint; begin readln(n);
for i:=2 to 36 do begin
k:=0;x:=n;
while x>0 do begin k:=k+1; b:=x mod i;
if (b>=0) and (b<=9) then str(b,a[k]);
if (b>=10) and(b<=35) then a[k]:=chr(55+b); x:=x div i; end;
for j:=1 to k div 2 do if a[j]<>a[k+1-j] then goto 10; t:=t+1;c[t]:=i; 10:end;
writeln(t);
for i:=1 to t do writeln(c[i]); end.
方法三:字符型
var n,i,k,j,h,l,x,z:longint; b:array[1..36] of longint;
a:packed array[1..1000] of char; begin readln(n);
for i:=2 to 36 do begin
k:=n;j:=0;h:=0;
while k>0 do begin j:=j+1;
z:=k mod i; if (z>=0)and(z<=9) then a[j]:=chr(z+48); k:=k div i; if (z>=10)and(z<=35) then a[j]:=chr(z+55); end;
for l:=1 to j div 2 do if a[l]<>a[j+1-l] then begin h:=1;break;end; if h<>1 then begin x:=x+1;b[x]:=i;end; end;
writeln(x);
for i:=1 to x do writeln(b[i]); end.
Var a:array[1..1000] of string; Begin
Readln(n); n——任意一个十进制数 For i:=2 to 36 do Begin
K:=0; x:=n;
While x>0 do begin K:=k+1; b:=x mod I;
if (b>=0) and (b<=9) then str(b,a[k]); str将数值型转换为字符型 if (b>=10) and (b<=35) then a[k]:=chr(55+b);chr将序号转换为字符 X:=x div I; End;
For j:=1 to k div 2 do if a[j]<> a[k+1-j] then goto 10;
m:=m+1;c[m]:=I; End; 10:End;
Writeln(m);
For i:=1 to m do writeln(c[i]); End.
宁波市第十七届小学生信息学(计算机)复赛试题
学校 姓名 准考号 (考试时间:8:30---10:30) 注意:1、上机编程时要随时存盘
2、上机时,有问题请及时举手请老师解决。 3、编程开始后,不要关机。
*******************************************************************************************
试题一:(程序名:XX1-准考号末2位)
输入三个自然数,n,i,j(1<=i<=n,1<=j<=n),n表示有一个n行n列的棋盘格子, (i,j)表示棋盘中格子的位置
如:n=4,i=2,j=3表示了棋盘中的第二行第三列的格子,如下图: (2,3) (2,3)表示该格为第2行第3列
要求编制一个程序,根据输入的n,i,j的值,输出与格子(i,j)在同一行、同一列、同一对角线上的所有格子位置,例如:当n=4,i=2,j=3时,输出的结果是: (2,1)(2,2)(2,3)(2,4) {同一行格子的位置} (1,3)(2,3)(3,3)(4,3) {同一列格子的位置}
(1,2)(2,3)(3,4) {左上到右下对角线上的格子位置}
(4,1)(3,2)(2,3)(1,4) {左下到右上对角线上的格子位置}
试题二:(程序名:XX2-准考号末2位)
编制一个不超过十六进制的数制转换程序,即把一个A(2≤A≤16)进制的一个正整数转换为B(2≤B≤16)进制数。(说明:超过十进制数,除了数字0-9,还要用大写英文字母A,B,C,D,E,F作为数字。 程序运行举例:(把一个2进制数转换为16进制数)
输入please input:110100111 2 16 输出:110100111 (2)=1A7(16) 提示:110100111 (2)=423(10)= 1A7(16) 试题三:(程序名:XX3-准考号末2位) 题目如下:
设有N个正整数(N<=20),将它们联成一排,组成一个最大的多位整数。 例如:N=3时,3个整数13 312 343 联成的最大整数为:34331213; 又如:N=4时,4个整数7,13,4,246联成的最大整数为:7424613;
输入: N
N个正整数
输出:联成的最大多位整数。
2002年3月31日
宁波市第十七届小学生信息学(计算机)复赛试题
测试答案卷
试题一:(程序名:XX1-准考号末2位)
1、 输入:n=1,i=1,j=1; 输出结果正确得: 1分 2、 输入:n=2,i=2,j=2; 输出结果正确得: 2分 3、 输入:n=3, i=3,j=1; 输出结果正确得: 5分 4、 输入:n=5, i=3,j=5; 输出结果正确得: 7分 5、 输入:n=6, i=4,j=4; 输出结果正确得: 10分
试题二:(程序名:XX2-准考号末2位)
1、输入:110100111 2 8 输出:110100111(2)=647(8) 得: 4分 2、输入:647 8 16 输出:647(8)=1A7(16) 得: 6分 3、输入:173 8 10 输出:173(8)=123(10) 得: 6分
4、输入:181 10 16 输出:181(10)=B5(16) 得: 6分 5、输入:5724 8 5 输出:5724(8)=44103(5) 得: 8分 试题三:(程序名:XX3-准考号末2位) 测试数据如下:
序号 输入 输出 分值 1 3
121 21 3 321121 5 2 4
13 24 75 42 75422413 10 3 4
1341 133 1321 37 3713411331321 10 4 6
321 32 407 135 13 217 4073232121713513 15 机动数据:(如果以上全对,用下组数据测试,结果不对,扣15分) 5 9
323 325 321 32 3 35 322 13 1351 35332532332322321135113
正在阅读:
4月1日复习题十进进数化为其它进制数03-16
“反三违”实施方案03-20
珍惜水资源作文500字07-01
2013年江西省会计从业人员继续教育网上培训考试题(含答案)10-04
最新《组织行为学》复习思考题03-16
螃蟹作文600字06-28
左手夹豆子比赛作文600字06-26
北京工商大学本科生毕业论文(设计)工作规定-电子版11-29
成绩考核的内容与方式04-11
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 复习题
- 进制
- 进进
- 化为
- 其它
- 马克思主义消费观
- 关于公布2012年第一季度获得通信建设工程概预算人员和通信建设监理工程师资格名单的通告
- 工程流体力学经典计算题
- 三期女员工的离职处理办法
- 四年级数学教案
- 质量方针和质量目标实施情况报告
- 西安市城中村改造项目管理工作程序
- 微观题目整理(1)
- 初中历史知识点《世界历史》《人类文明的开端》《大河流域-人类文明的摇篮》精选练习试题含答
- ZKtime5.0考勤软件说明书 - 图文
- 领导讲话:在全市项目党建工作暨基层党建工作重点任务现场推进会上的讲话
- 巢湖地质实习报告 - 图文
- 2014《数理统计》课内实验(二)实验报告
- 基础化学试题A卷
- 模电第三章答案
- 光纤内脉冲信号传输仿真(包含matlab程序)
- 省级文明单位试题及答案(40套题)
- CNAS-CC01 - 2007 - 管理体系认证机构要求(对照国标调整,清稿)终稿
- 现代设计史知识点(最终)
- 2019国家公务员考试行测理科题模拟试题