例4、擦数游戏
在黑板上从1开始写出一组连续的自然数,然后擦去其中的一个数k,其余的数的平均值为a+c/b(繁分式)。试编写程序求出被擦去的数k。例如:在黑板上写出1,2,......,69之后把数7擦去而得到的其余的68个数的平均值为35+7/17。
输入一行三个数,分别为a、b、c(a,b,c≤100),用空格分隔。输出为擦去的数k。若对于输入的三个数无解,则输出“NO”。
输入输出示例:
输入1:35 17 7
输出1:7
输入2:1 3 2
输出2:NO
擦数游戏算法
readln(a,b,c);
f:=a+c/b;
d:=1; s:=d;
repeat
d:=d+1;
s:=s+d;
for k:=1 to d do
if (s-k)/(d-1)=f then begin
writeln(k); halt
end;
until d>500;
writeln('NO');
匹配条件:
擦去k后其它数的平均值= 繁分数的值
学生作业一、一元三次方程求解
有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程。给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差的绝对值>=1。要求由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数点后2位。
提示:记方程f(x)=0,若存在2个数x1和x2,且x1<x2,f(x1)*f(x2)<0,则在(x1,x2)之间一定有一个根。
样例
输入:1 -5 -4 20
输出:-
学生作业二、例6、巧妙填数
将1~9这九个数字填入九个空格中。每一横行的三个数字组成一个三位数。如果要使第二行的三位数是第一行的两倍, 第三行的三位数是第一行的三倍, 应怎样填数。如图
6
7
5
4
8
3
2
9
1
算法枚举算法 来自淘豆网m.daumloan.com转载请标明出处.