鱼C论坛

 找回密码
 立即注册
查看: 3862|回复: 19

伪代码

[复制链接]
发表于 2022-10-19 10:41:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
执行以下程序,输出值是多少?

a = 24 : b = 2 : c = 3
if a / c == b ^ c then
b = b * c
end if
if c + a / b > b then
a = a - b * c
end if
b = b + a / 3
if b > a + c then
b = 2 * b
else
c = a / c
end if
output a + b / c ^ 2
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-19 10:48:18 From FishC Mobile | 显示全部楼层
啥语言啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-19 10:51:48 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-19 11:13:54 From FishC Mobile | 显示全部楼层
nbwubo 发表于 2022-10-19 10:51
Python

那就还原代码啊,空手分析多累脑啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-19 11:58:57 | 显示全部楼层
wp231957 发表于 2022-10-19 11:13
那就还原代码啊,空手分析多累脑啊

还原了,有点问题,请高手还原下!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-19 13:29:19 | 显示全部楼层
       答案是 17 对吗?
a , b , c = 24 , 2 , 3 
if a // c == b ^ c : b = b * c
if c + a // b > b : a = a - b * c
b = b + a // 3
if b > a + c : b = 2 * b
else : c = a // c
print(a + b // c ^ 2)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-19 14:52:58 | 显示全部楼层
本帖最后由 阿奇_o 于 2022-10-19 15:51 编辑


你这 哪里来的 // 地板除?  ^_   不就是正常的 / 除法吗?
一个个 if 都要判断是否成立,若不成立且还有else就走else,没有else就结束(end if)该条件语句。
所以,就手算或心算,一个个代入值进行判断和运算,即可。

答案应该是: 18+12/6**2 = 18+1/3 = 18.33333...     

ps : 错了,我在第二个if 没乘上c,算错了 a 的值(后面的也跟着错了)。 a应该等于 a = a - b*c = 24 - 6*3 = 6
最后的结果是: 6 + 8/2**2 = 6 + 8/4 = 8
a, b, c = 24, 2, 3
if a/c == b**c:
    b = b*c

    
b
6
if c + a/b > b :  # 3 + 24/6 > 6 ?
    a = a - b*c

    
a
6
b = b + a/3
b
8.0
if b > a+c :  # 6 > 6+3 ?  NO
    b = 2*b
else:
    c = a/c  # 6/3 = 2

    
c
2.0

print(a + b/c**2)  # 6 + 8/2**2 = ?
8.0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-19 15:26:25 | 显示全部楼层

答案是8
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-19 15:27:55 | 显示全部楼层
阿奇_o 发表于 2022-10-19 14:52
你这 哪里来的 // 地板除?  ^_   不就是正常的 / 除法吗?
一个个 if 都要判断是否成立,若不成立且 ...

end if
b = b + a / 3

我对一行语句不理解,这个是做判断还是输出结果?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-19 15:42:27 | 显示全部楼层
本帖最后由 jackz007 于 2022-10-19 15:45 编辑

a , b , c = 24 , 2 , 3 
if a // c == b ** c : b = b * c
if c + a // b > b : a = a - b * c
b = b + a // 3
if b > a + c : b = 2 * b
else : c = a // c
print(a + b // c ** 2)
        这个答案就是 8,上一个代码把 a ^ b 按二进制位操作处理了,其实,应该是乘方(a ** b)的意思。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-19 15:48:27 | 显示全部楼层

不属于任何判断语句,是 单独的一句 赋值语句。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-19 15:53:47 | 显示全部楼层
阿奇_o 发表于 2022-10-19 14:52
你这 哪里来的 // 地板除?  ^_   不就是正常的 / 除法吗?
一个个 if 都要判断是否成立,若不成立且 ...

          记住,凡是判断一个除法结果与另一个数相等的,那么,这个除法就必须是地板除!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-19 16:02:12 | 显示全部楼层
本帖最后由 阿奇_o 于 2022-10-19 16:19 编辑
jackz007 发表于 2022-10-19 15:53
记住,凡是判断一个除法结果与另一个数相等的,那么,这个除法就必须是地板除!!!


按你这说法,那你对比看看下面的判断:
8 / 4 == 2
True
8 // 4 == 2
True

7 / 4 == 1.75
True
7 // 4 == 1.75    # 若按你的说法,这里是不是应该 True ?  ?
False

7 / 4
1.75

7 // 4
1
除法是除法,地板除是地板除,还是要分清楚的。 ^_      
(最简单的我要判断 3/2 == 1  这显然不成立,但你改成地板除 3//2 == 1 它却成立了?——这不是有问题吗)


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-19 16:05:52 | 显示全部楼层
阿奇_o 发表于 2022-10-19 16:02
按你这说法,那你对比看看下面的判断:

          答案是,地板除不止一个,而是全部,这是全整数运算,Ok???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-19 16:17:49 | 显示全部楼层
jackz007 发表于 2022-10-19 15:42
这个答案就是 8,上一个代码把 a ^ b 按二进制位操作处理了,其实,应该是乘方(a ** b)的 ...

你这用的是python 代码吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-19 16:22:18 | 显示全部楼层
本帖最后由 jackz007 于 2022-10-19 16:24 编辑
nbwubo 发表于 2022-10-19 16:17
你这用的是python 代码吗


         当然,%100 的 Python 代码!
         你自己可以把代码保存后直接运行啊,像这样:
D:\[00.Exerciese.2022]\Python>python x.py
8

D:\[00.Exerciese.2022]\Python>
         从屏幕上可以直接看到计算结果。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-19 17:28:26 | 显示全部楼层
a, b, c = 24, 2, 3

if a/c == b**c:
    b = b * c
    print(b)
if c + a / b > b:
    a = a - b * c
    print(b)
b = b + a / 3
if b > a + c:
    b = 2 * b
    print(b)
else:
    c = a / c
    print(c)

print(a + b / c**2)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-19 17:29:01 | 显示全部楼层

我自己敲的代码,麻烦大神看看有没有哪里有问题的,执行结果是正确的!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-19 17:34:04 From FishC Mobile | 显示全部楼层
nbwubo 发表于 2022-10-19 17:29
我自己敲的代码,麻烦大神看看有没有哪里有问题的,执行结果是正确的!

python里面一个斜杠是除法,得到的是浮点数
两个斜杠才是整除法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-19 19:34:09 | 显示全部楼层
wp231957 发表于 2022-10-19 17:34
python里面一个斜杠是除法,得到的是浮点数
两个斜杠才是整除法

有道理,整除出来的结果清楚多了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-26 01:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表