完善程序练习题2015.1.docVIP

  • 12
  • 0
  • 约4.38千字
  • 约 3页
  • 2017-12-24 发布于河南
  • 举报
完善程序练习题2015.1

完善程序,将N拆成若干个质因数相乘的形式。例如 N=12时, 12可拆成2*2*3. 输入样例:12 输出样例:12=2*2*3 var n,i:integer; flag:boolean; begin readln(n); (1) ; while n1 do begin flag:=false; for i:=2 to trunc(sqrt(n)) do if (2) then begin write(i,*); (3) ; flag:=true; break; end; if flag=false then begin write(n); n:=n div n; end; end; end. 2.若某元素在一组数中比它大的元素越多,则说明这个数在这组数的值就越小。 现请你统计出数组中的每个元素,数一数该数组有多少个元素比它大。 输入样例:5 5 9 6 3 4 输出样例:2 0 1 4 3 var data:array[1..100] of integer; big:array[1..100] of integer; n,i,j:integer; begin readln(n); for i:=1 to n do (1) ; for i:=1 to n do for j:= (2) do if data[j]data[i] then (3) ; for i:=1 to n do write(big[i],’ ‘ ); end. 3.同构数 “同构数”是这样一种数:它出现在它的平方数的右端。例如:5的平方是25,5就是同构数,25也是构数。 找出1~100之间的全部“同构数”。从小到大输出这些“同构数”,每个同构数以一个空格空开。 var i,t:integer; begin for i:= (1) do begin (2) ; if i10 then begin t:=t mod 10; if (3) then write(i,‘ ’); end else begin (4) ; if t=i then (5) ; end; end; end. end. 4. 给出一个正整数,求这个正整数有多少个互不相同的数字组成。 【输入样例】: 4862856 【输出样例】: 5 var n,i,t,ans:longint; s:string; a:array[0..9] of integer; begin readln(n); (1) ; for i:=1 to (2) do begin (3) ;a[t]:=1; end; for i:= 0 to 9 do If (4) then ans:=ans+1; writeln(ans); end. 5.给定一个字符串S(S仅包含大小写字母),请按以下方法将这个字符串变形: ⑴若字符串S中有小写字母,请将它变成对应的大写字母; ⑵将这个字符串S中相邻且相同的字符合并成一个字符。 请输出新的字符串。 【输入样例】: GgjjjjBb 【输出样例】: GJB 程序: var len,i:integer; s,st:string; begin readln(s); len:=length(s); for i:=1 to len do if ( 1) then s[i]:=chr(ord(s[i])-ord(a)+ord(A)); st:=st+s[1]; for i:=2 to len do if st[1]s[i] then ( 2) ; (3) ; for i:=len downto 1 do (4) end. 6. 我们把素数的幂称之为“类素数”,例如:8

文档评论(0)

1亿VIP精品文档

相关文档