getnum(i+1); end; end; end;
begin
assign(input,'SRAMOC.DAT'); assign(output,'SRAMOC.OUT'); reset(input); rewrite(output); read(k );
read(m); test:=false; l:=1;
if m n:=m; end else begin l:=0; while not test do begin l:=l+1; getnum(1); end; end; write(n); close(input); close(output); end. 269 、顺序数串无穷小数 小明构造了一个无穷小数x=0.1234567891011?9899100101?,其中的数字是依次写下各自然数而得到的。试求出小数点后第m位数字。 输入:文件中每行有一个整数m( m<=20000)。 输出:输出文件中每行有一个数字,存放着小数点后第m位数字。 2 var m,n:integer; function mexp(a:integer):l ongint; var i:integer; t:longint; begin t:=1; for i:=1 to a do begin t:=t*10; end; mexp:=t; end; function mstr(x:integer):string; var ms:string; begin str(x,ms); mstr:=ms; end; procedure writeret(n:integer); var i,r:integer; x:longint; s:string; begin i:=-1; while n>0 do begin i:=i+1; n:=n-9*mexp(i); end; n:=n+9*mexp (i); if n mod (i+1)=0 then r:=i+1 else r:=n mod (i+1); x:=(n-r) div (i+1); s:=mstr(x+mexp(i)); s:=copy(s,r,1); writeln(s); end; begin assign(input,'c:\\input.txt'); assign(output,'c:\\output.txt'); reset(input); rewrite(output); while not eof do begin readln(m); writeret(m); end; close(input); close(output); end. 270 、NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能。实验室将这个任务交给了一个刚进入的新手ZL先生。为了很好的完成这个任务,ZL先生首先研究了一些一元一次方程的实例: 4+3x=8 6a-5+1=2-2a -5+12y=0 ZL先生被主管告之,在计算器上键入的一个一元一次方程中,只包含整数、小写字母及+、-、=这三个数学符号(当然,符号“─”既可作减号,也可作负号)。方程中并没有括号,也没有除号,方程 中的字母表示未知数。 问题求解 编写程序,解输入的一元一次方程, 将解方程的结果(精确至小数点后三位)输出至屏幕。 你可假设对键入的方程的正确性的判断是由另一个程序员在做,或者说可认为键入的一元一次方程均为合法的,且有唯一实数解。 样 例 输入: 6a-5+1=2-2a 输出: a=0.750 275、问题描述: 给出n个整数x1,x2,x3,x4..xn,将这n个数从小 到大排序为:A1,A2,A3,A4..AN,记数列A1,A2,A3,A4..AN的奇数项之和为P,偶数项之和为Q,令T=|P-Q| 求出T的值。 输入格式: 输入文件的第一行为整数N(1<=n<=50000)。 接下来的N行每行有一个整数,按顺序给出X1,X2,X3,..XN的值(|Xi|<=1000) 输出格式: 输出整数T的值。 输入样例: 3 1 3 2 输出样例: 2 var x:array [1..50000] of integer; n,t,i,q,p:inte ger; procedure pailie(); var m,l,t:integer; begin for m:=n-1 downto 1 do begin for l:=1 to m do begin if x[l]>x[l+1] then begin t:=x[l]; x[l]:=x[l+1]; x[l+1]:=t; end; end; end; end; procedure add(); begin p:=0; q:=0; for i:=1 to n do begin if i mod 2=0 then q:=q+x[i] else p:=p+x[i]; end; end; begin assign(input,'c:\\input.txt'); assign(output,'c:\\output.txt'); reset(input); rewrite(output); readln(n); for i:=1 to n do begin readln(x[i]); end; pailie(); add(); if q>p then write(q-p) else write(p-q); close(input); close(output); End. 276、破碎的项链 问题描述:你有一条由N个红色的,白色的,或蓝色的珠子组成的项链(3<=N<=350),珠子是随意安排的。 这里是 n=29 的二个例子: 1 2 1 2 r b b r b r r b r b b b r r b r r r w r b r w w b b r r b b b b b b r b r r b r b r r r b r r r r r r b r b r r r w 图片 A 图片 B r 代表 红色的珠子 b 代表 蓝色的珠子 w 代表 白色的珠子 第一和第二个珠子在图片中已经被作记号。 图片 A 中的项链可以用下面的字符串表示: brbrrrbbbrrrrrbrrbbrbbbbrrrrb. 假如你要在一些点打破项链,展开成一条直线,然后从一端开始收集同颜色的珠子直到你遇