很古怪的问题(会pascal的进来一下)

sharpmark 2001-07-22 02:30:05
问题是:
读入两个实数,并输出其中一个较大的数(只可以用:复制语句、读写语句和abs,sqr,sqrt,sin,cos,arctan,exp,in,trunc,round,ord,chr,pred,suce函数)
怎么做??
...全文
126 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lifanxi 2001-07-31
  • 打赏
  • 举报
回复
我的方法被yug抢了。
还有一个办法是用ODD函数。以前用过的,现在好久没有用Pascal,连odd是什么函数也忘了。等我去查查再来。
andrew80 2001-07-26
  • 打赏
  • 举报
回复
read(x,y);
z:=x-y;
temp1:=abs(z);
temp2:=(z+temp1)/(2*temp1);
writeln(temp2*x+(1-temp2)*y);
这个方法就是上面的if语句,转化成一个式子。
关于溢出:如果所有变量都是整形,则不会发生溢出。只要输入的整形变量不溢出,则只有z+temp1和2*temp1可能发生溢出,而由于pascal整形变量溢出不报错,而是直接变成相应的负数,所以即使z+temp1和2*temp1都大于32***,二者还是两个相等的负数,其商仍然为1,对结果无影响。如果所有变量都是实型,则只有在输入的数一个非常小,一个接近10的38方才有可能发生溢出。
上面为了叙述方便所以用了临时变量,如果不允许使用临时变量,则:
read(x,y);
writrln((x-y+abs(x-y))/(2*abs(x-y))*x+(1-(x-y+abs(x-y))/(2*abs(x-y)))*y);
有点长:)
testnet 2001-07-24
  • 打赏
  • 举报
回复
a+b如果a和b都很大,会不会益出?
yxf 2001-07-23
  • 打赏
  • 举报
回复
俺的方法被Software1999抢了
SoftWare1999 2001-07-22
  • 打赏
  • 举报
回复
var a,b:real;
begin
readln(a,b);
writeln((a+b+abs(a-b))/2);
end.
TAlucard 2001-07-22
  • 打赏
  • 举报
回复
agree with yug
yug 2001-07-22
  • 打赏
  • 举报
回复
float max(float a,float b)
{
return((abs(a-b)+a+b)/2);
}
sharpmark 2001-07-22
  • 打赏
  • 举报
回复
+ - * / ()可以用,
但if语句不能用!!!
windindance 2001-07-22
  • 打赏
  • 举报
回复
~~~~~~~~~~~~~~~~~~~~~~
wuhuar 2001-07-22
  • 打赏
  • 举报
回复
+ - * / ()也不能用???
andrew80 2001-07-22
  • 打赏
  • 举报
回复
read(x,y)
z=x-y;
if z = abs(z)
then write(x)
else write(y);
转载的东西: 本来zxing的c++部分不是为windows准备的,在windows中编译应该用mingw比较合适。但我不熟悉这个。今天试一下,似乎可以在VS2008编译。虽然有很多问题,不过都可以解决的。 大概有如下问题: 1。isnan, NAN, INFINITY, fmax等一些常量或函数找不到,这是linux与windows包含文件的差异。自己创建就行,我做在nan.cpp和nan.h之中。 2。文件同名:可以把那些文件编译到不同目录,这样就不干扰了。默认是编译到同一个目录。 3。变长数组的语法:GCC支持变长的数组变量,比如 void gcc(int len) { int data[len]; } 但VC不支持,所以很多地方都要改过来。我的做法是:查到它所有的调用之处,找一个比较大的数值来取代len。 4。iconv.h: 要下载: http://gnuwin32.sourceforge.net/packages/libiconv.htm 需要DLL和lib导入库。我上传的代码不用iconv。通过设置NO_ICONV,可以不需要libiconv,但是扫描结果也没有转换,需要调用方自己做字符集转换。 经过这些,应该可以编译了。 编译它的示例: 这要求有ImageMagick,直接下载一个安装, 安装完成后,新建一个windows控制台项目,导入示例,设置好ImageMagick和zxing头文件和库文件目录。编译后,运行。 我放在zxtest项目中。 根据示例,写pascal接口,这部分代码放在ZXingDLL中。 通过分析,LuminanceSource应该是一个zxing分析图像的接口,要从这个派生出来一个类才能让zxing工作。示例是用MagickBitmapSource ,它用了ImageMagick库,太大,所以我分析了源码,发现只要输出灰度就行了,这样我在DELPHI中获取图像,然后转成灰度图,再转进来。具体看我的DELPHI和lazarus代码。 上传的压缩包没有带dll,只有工程文件,谁有VS2008编译一下吧。

33,028

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧