2000年分区联赛普级组之一 计…
来源:互联网 发布:手机图章制作软件 编辑:程序博客网 时间:2024/04/27 17:40
Description
NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能。实验室将这个任务交给了一个刚进入的新手ZL先生。为了很好的完成这个任务,ZL先生首先研究了一些一元一次方程的实例:
4+3x=8
6a-5+1=2-2a
-5+12y=0
ZL先生被主管告之,在计算器上键入的一个一元一次方程中,只包含整数、小写字母及+、-、=这三个数学符号(当然,符号“─”既可作减号,也可作负号)。方程中并没有括号,也没有除号,方程中的字母表示未知数。
Input
输入的一元一次方程。
你可假设对键入的方程的正确性的判断是由另一个程序员在做,或者说可认为键入的一元一次方程均为合法的,且有唯一实数解。
Output
方程的结果(精确至小数点后三位)。
Sample Input
6a-5+1=2-2a
Sample Output
a=0.750
解题思路:先读入字符串,预处理,然后循环,用多个变量对该方程进行标记,然后根据标记进行计算,最后输出解出的结果即可。
程序:
var
s1,s,st,str:string;
k1,n,k2,k,z:int64;
i,j,code:longint;
begin
readln(s);
for i:=1 to length(s) do
if (s[i] in ['a'..'z']) or (s[i] in ['A'..'Z']) then s1:=s[i];
j:=1;k1:=0;k2:=0;code:=0;
for i:=1 to pos('=',s) do
begin
if ((s[i]='+') or (s[i]='-') or (s[i]='=')) and(i<>1) then
begin
str:=copy(s,j,i-j);
val(str,k,code);
if code=0 then k2:=k2-k;
if code<>0 then
begin
delete(str,code,1);
if str='' then k:=1
else val(str,k,code);
if code<>0 then
if str[1]='+' then k:=1
else
if str[1]='-'then k:=-1;
k1:=k1+k;
end;
j:=i;
end;
end;
code:=0;
j:=pos('=',s)+1;
for i:=pos('=',s)+1 to length(s) do
begin
if ((s[i]='+') or (s[i]='-') and(s[i-1]<>'=')) or (i=length(s)) then
begin
if i<>length(s) then str:=copy(s,j,i-j)
else str:=copy(s,j,i-j+1);
val(str,k,code);
if code=0 then k2:=k2+k;
if code<>0 then
begin
delete(str,code,1);
if str='' then k:=1
else val(str,k,code);
if code<>0 then
if str[1]='+' then k:=1
else if str[1]='-'then k:=-1;
k1:=k1-k;
end;
j:=i;
end;
end;
if k2/k1=0 then writeln(s1,'=','0.000')
else writeln(s1,'=',k2/k1:0:3);
end.
版权属于:
原文地址:
转载时必须以链接形式注明原始出处及本声明。
0 0
- 2000年分区联赛普级组之一 计…
- 2001年分区联赛普级组之一 数…
- 2004年分区联赛普级组之一 不…
- 2005年分区联赛普级组之一 陶陶摘…
- 2006年分区联赛普级组之一 明明的…
- 2003年分区联赛普级组之一 乒乓球
- 1997年分区联赛普级组之一 统计
- 2002年分区联赛普组组之一 级…
- 2002年分区联赛提高组之一 均…
- [模拟]2000年分区联赛普级组之一 计算器的改良
- 2001年分区联赛普级组之二 最…
- 2001年分区联赛普级组之四 装…
- 1997年分区联赛普级组之三 二进制…
- 2012年分区联赛普级组第一题 …
- 2012年分区联赛普级组第一题 …
- 2012年分区联赛普级组第四题 …
- 2012年分区联赛普级组第四题 …
- 1998年分区联赛普级组之一
- USACO 3.3 骑马修栅栏
- 2002年分区联赛普级组之三 产生数
- 珍珠(图论算法)
- 最短路径问题Dijkstra(图论算法)
- 最小花费(图论算法)
- 2000年分区联赛普级组之一 计…
- 信使(图论算法)
- 热浪(图论算法)
- Linux内核分析(七)
- 营养膳食(贪心算法)
- 谁是组长
- 分糖果(图论算法)
- 观光旅游(图论算法)
- 刻录光盘(图论算法)