'''
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<x<50: # 工资是40多美元
print('第1周工资数可能是',round(x,2),'美元')
# 第一周工资数 41.26222222222222 美元,所以要加round
print('可能一共工作了',len(days),'周')
result1.append(round(x,2))
result2.append(len(days))
result3.append(c)
else:
pass
# 第1周工资数 47.41 美元
# 一共工作了 7 周
# 第1周工资数 41.26 美元
# 一共工作了 8 周
# 验证结果是否正确
for f in range(len(result1)):
if result1[f]*(result2[f]+1)+result3[f]*0.99==407.00:
print('约翰第1周工资数',result1[f],'元')
print('约翰正好工作了',result2[f],'周')
else:
pass
# 因为有两个40多美元,所以再列示计算是不是等于407.00元
# (1-8累加=36)*0.99+41.26*9=406.98 不等于407.00
# (1-7累加=28)*0.99+41.47*8=407.00 等于407.00
# 最终结果
# 约翰第1周工资数 47.41 元
# 约翰正好工作了 7 周
问题:公积金账户余额23200,已知第一年大约交了2000多,每一年增加200元,问第一年公积金具体多少,一共交了几年
'''
3、公积金账户
小明公积金账户有23200公积金。第一年大约是2000多公积金,此后一年递增200元”
小明第一年公积金多少,一共交了几年?
# '''
n=int(23200/2000)
all=23200.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)/(int(len(days)+1))
if 2000<x<3000: # 工资是40多美元
print('第1年公积金可能是',round(x,2),'人民币')
# 第一周工资数 41.26222222222222 美元,所以要加round
print('可能缴了公积金',len(days),'年')
result1.append(round(x,2))
result2.append(len(days))
result3.append(c)
else:
pass
# 第1年公积金可能是 2714.29 人民币
# 可能缴了公积金 6 年
# 第1年公积金可能是 2200.0 人民币
# 可能缴了公积金 7 年
# 验证结果是否正确
for f in range(len(result1)):
if result1[f]*(result2[f]+1)+result3[f]*zj==all:
print('小明第1年公积金',result1[f],'元')
print('小明正好缴了公积金',result2[f],'年')
else:
pass
# 最终结果
# 小明第1年公积金 2200.0 元
# 小明正好缴了公积金 7 年