资源描述:
《pascal入门测试7(答案)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、明明是1993年3月3日出生的,他出生的年份最后一个数字是3,月数、日期都是3,他认为数字3是他的幸运数,甚至凡是3的倍数的数他都非常喜欢,认为都是他的幸运数,现在给出一个正整数N,请你帮明明统计出1至N之间(包括1和N)有几个数字是明明的幸运数。输入输出样例:输入:10输入:500输出:3输出:2831)50252)10005133)514)2000011251Varn,i,j,k,t:integer;Beginreadln(n);t:=0;fori:=ltondobeginifimod3=0thent:=t+lelsebeginj:=i;rep
2、eatk:=jmod10;j:=jdiv10;until(k=3)or(j=0);ifk=3thent:=t+l;end;end;writeln(t);readln;End>【问题描述】给定一个正整数N,请找出N转化为二进制后,其中所有1的位置。二进制的最低位(最右侧)为第0位。Input输入中包含一个正整数N(lv=Nv=1000000)Output输出N转换为二进制后,所有1的位置,每两个位置中间用一个空格隔开【样例输入】13【样例输出】0231)102)12873)34567810114)100000579101516varn9t:longi
3、nt;beginreadln(n);t:=0;repeatifnmod2=1thenbeginwrite(t/f);s:=s+l;end;n:=ndiv2;t:=t+l;untiln=0;writein(S);readln;end.输入一个以“结束的字符串,从左至右翻译。若下一个字符是数字n(0vnW9),表示后一个字符重复n+1次,不论后一个字符是否为数字;若下一个字符非数字,则表示自己。例女口“A2B5E34FG0ZYWPQ59R@"可翻译成“ABBBEEEEEE4444FGZYWPQ999999R@'°【输入】为需要输入的字符串(串长W255
4、)【输岀】为翻译后的字符串。【样例输入】A2B5E34FG0ZYWPQ59R@【样例输出】ABBBEEEEEE4444FGZYWPQ999999R@1)a3b5r@abbbbrrrrrr@2)A2ZY4FF@AZZZYFFFFFF@varc:char;i9n:integer;beginrepeatread(c);if(c>=*r)and(c<=,9,)thenbeginn:=ord(c)-ord('O');read(c);fori:=lton+1dowrite(c);endelsewrite(c);untilc=@;readln;readln;en
5、d.用1表示S(Smile),2表示C(Cry),3表示H(Happy)。编写一个程序,输入一个由1、2、3组成的三位数,输岀相应的字母序列。[样例输入1]123[样例输出1]SCH[样例输入2]332[样例输出2JHHC[样例输入31124[样例输出3]Yourinputwaswrong!varn,t,i-integer;beginreadln(n);(ifndiv100>3)or(ndiv10mod10>3)or(nmod10>3)thenbeginwriteln(*Yourinputwaswrong!');readln;halt;end;t:
6、=100;fori:=lto3dobegina:=ndivt;caseaofl:writeCS*);2:write(*C*);3:write(*Hr);end;n:=nmodt;t:=tdiv10;end;writein;readin;end.据说原始部落人以小石子作为计算工具,用减半和倍加运算就能求得任何两个整数的乘积(注意当然不能用乘号*运算)。例如求13与15乘积的过程是:13156303601120规则是:左边不断除2,写下商,舍去余数,右边不断加倍,直到左边变1为止。取结果的方法是:如果某行左边是偶数,就划去整个这一行,右边剩下的数相加即
7、可,如上式中舍去与6对应的30,其结果就是:13*15=15+60+120=195请编制一个程序模拟他们的方法求输入两数的乘积,并以上式输出结果。例如:输入:a,b=1315输出:13*15=15+60+120=195vara,b,s:longint;tf:boolean;beginwrite('a,b=');readln(a,b);s:=0;write(a,',b,'二’);tf:二true;whilea>0dobeginifodd(a)thenbeginiftfthenbeginwrite(b);tf:=false;endelsewrite('
8、+',b);s:=s+b;end;a:=adiv2;b:=b*2;end;writeln(,=',s);readln;en