【趣味题-07】20240121他的第一周工资(精准推测工资)

背景需求

【趣味题-07】20240121他的第一周工资(精准推测工资)_第1张图片

设计过程:

AI写了很多的答案,但是都不正确

【趣味题-07】20240121他的第一周工资(精准推测工资)_第2张图片

【趣味题-07】20240121他的第一周工资(精准推测工资)_第3张图片

【趣味题-07】20240121他的第一周工资(精准推测工资)_第4张图片

【趣味题-07】20240121他的第一周工资(精准推测工资)_第5张图片

【趣味题-07】20240121他的第一周工资(精准推测工资)_第6张图片

于是我去查看了网上的正确答案——47.41美元

【趣味题-07】20240121他的第一周工资(精准推测工资)_第7张图片

此外,题目的0.99涉及了浮点数,非整数,无法range遍历

【趣味题-07】20240121他的第一周工资(精准推测工资)_第8张图片

最后终于有一个答案正确的代码

【趣味题-07】20240121他的第一周工资(精准推测工资)_第9张图片

通过反复测试,终于写出一个适合的代码

代码展示:



'''
3、他的第一份工作
“嗨!约翰尼斯,”星期天乔在街上遇到一个年轻人向他喊道,“好久不见,我听说你开始工作啦!”
“几个星期了,”约翰尼斯回答道,“这是一份计件工作,我干得挺好的。第一星期我得了四十多美元,而且后来每个星期都比前一个星期多赚99美分。”
“这真是巧事!”乔笑了笑并继续说,“愿你一如继往都能这样!”
“我估计用不了多久我一个星期便能赚到60美元,”年轻人告诉乔,“自从开始工作到现在,我已经赚了整整407美元。这的确不坏!”
试问,约翰尼斯第一个星期赚了多少?

# '''

  # 根据AI推荐的写法
'''
    # total_earning = 407。00
    # x = (total_earning - (1 + 2 + 3 + 4 + 5 + 6+7)*0.99 ) / 8
    # print(" @ 的值为:", x, "美元")  
    # 正好等于47.41美元
    根据其中“周数累加”的方法,推算第一周的工资

'''
# 一周40多美元(不确定数字),一共赚了407,大约10周
n=int(407/40)

# 可能有10周,周数累加
day=0
days=[]
result1=[]
result2=[]
result3=[]
# [1,2,3,4,5,6,7,8,9,10]
for  i in range(n):
    day+=1
    days.append(day)    
    # print(sum(days))
    c=int(sum(days))
    #     1
        # 3
        # 6
        # 10
        # 15
        # 21
        # 28
        # 36  
    
    # x = (total_earning - (1 + 2 + 3 + 4 + 5 + 6+7)*0.99 ) / 8
    # 用上面的公式进行倒推提取周数的累加数字和除以的数字(周数+1)

    x=(407.00-c*0.99)/(int(len(days)+1))
    if 40

最终结果:

【趣味题-07】20240121他的第一周工资(精准推测工资)_第10张图片

【趣味题-07】20240121他的第一周工资(精准推测工资)_第11张图片

代码解析:

【趣味题-07】20240121他的第一周工资(精准推测工资)_第12张图片【趣味题-07】20240121他的第一周工资(精准推测工资)_第13张图片

【趣味题-07】20240121他的第一周工资(精准推测工资)_第14张图片

【趣味题-07】20240121他的第一周工资(精准推测工资)_第15张图片

这种方法有点类似于52周递增存钱法。

但是它是根据总数倒退初始金额(第一周的存款金额)

主要关键是根据总金额、倒退周次(存了几周)递增数量(每周增加0.99美元。

因为不知道周次,所以我将总金额除以大致的工资数(407/40)在0-10之间遍历提取周数,然后减法得到可能的第1周数量,并限制在40-50之间。本题有两个40多的工资数,所以再次通过公式验证,排除不符合的答案。

延伸题目

用这种方法可以推算公积金第一年第一个月缴费多少(获得精确数字)

小明公积金账户有235200公积金。第1年每月月大约是2000多公积金,此后一年递增200元”

小明第一年公积金每月是多少,一共交了几年?

需要乘以12月



'''
3、公积金账户
小明公积金账户有235200公积金。第1年每月月大约是2000多公积金,此后一年递增200元”
小明第一年公积金多少,一共交了几年?

# '''


# 一年12个月
n=int(235200/12/2000)
print(n)# 9年
all=235200.00
zj=200.00


# 可能有10周,周数累加
day=0
days=[]
result1=[]
result2=[]
result3=[]
# [1,2,3,4,5,6,7,8,9,10]
for  i in range(n):
    day+=1
    days.append(day)    
    # print(sum(days))
    c=int(sum(days))

    x=(all-c*zj*12)/((int(len(days)+1))*12)
    if 2000

小明初始第一年1月公积金是2200元,第一年一共12次,每年递增200元*12月,到了第7年12月,正好获得235200元公积金。

【趣味题-07】20240121他的第一周工资(精准推测工资)_第16张图片

【趣味题-07】20240121他的第一周工资(精准推测工资)_第17张图片

你可能感兴趣的:(python)