日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 开票金额拆分_关于开票尾差拆分凑整的算法问题

發(fā)布時間:2025/4/16 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 开票金额拆分_关于开票尾差拆分凑整的算法问题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

多個費項合計計算含稅價與分別計算含稅的合計不一致,存在尾差。

例如:

不含稅稅率含稅價

費項15133.21 6%5441.2

費項22647976.26 6%2806854.84

費項3475247.96 6%503762.84

費項4375270.75 6%397787

費項51180985.96 6%1251845.12

費項634190.42 6%36241.85

費項7623404.86 6%660809.15

費項8121905.77 6%129220.12

費項918500.00 6%19610

費項1050859.94 6%53911.54

合計5533475.135865483.66

用不含稅合計計算的含稅價位5865483.64.與分項合計存在2分的尾差。

為了減少fp的使用量,求得最小拆分數(shù),并給出各個拆分結果,不含稅與含稅符合6%的固定稅率,且不含稅合計要等于a,含稅合計要等于b。

該類問題除了暴力拆分,是否有更優(yōu)、更快的算法?懇請各位大神指教。

(目前暴力拆分只會寫固定拆分幾次的,如何實現(xiàn)暴力2拆失敗嘗試暴力3拆、4拆.....)

pythona = float(input("請輸入不含稅金額:"))

b = float(input("請輸入含稅金額:"))

def fpcf(a,b):

x = 0.01

y = 0.01

s = 0

list2 = []

while x <= a:

while y <= a:

c = round(x,2)

d = round(x*1.06,2)

e = round(y,2)

f = round(e * 1.06, 2)

g = round(a - x - y,2)

h = round(g*1.06,2)

print("這是第{:.2f}-{:.2f}次嘗試".format(x,y))

print()

y += 0.01

list1 = []

if (d+f+h) == b and c > 0 and e > 0 and g > 0:

print("拆分成功!不含稅金額分別為{:.2f} {:.2f} {:.2f}".format(c,e,g))

list1.append(c)

list1.append(e)

list1.append(g)

list2.append(list1)

return

else:

continue

y = 0.01

x += 0.01

if len(list2) >0:

print("一共有{}個結果!".format(len(list2)))

for z in list2:

print(z)

else:

print("拆分失敗!")

print(fpcf(a,b))

input("Press ")

總結

以上是生活随笔為你收集整理的java 开票金额拆分_关于开票尾差拆分凑整的算法问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。