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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

一个数里有那些约数用c++怎么做_如何从一堆数里找出哪几个数相加等于你要的值?...

發布時間:2025/3/21 c/c++ 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一个数里有那些约数用c++怎么做_如何从一堆数里找出哪几个数相加等于你要的值?... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

湊數在更深一步財務數據分析和核算中有著很重要的作用

你是否有遇到過收到的一筆款對應哪幾個發票金額?一張發票對應哪幾筆收款?等等其他方面需要從一堆數里湊幾個數等于你要的值。

對于數字敏感的人,一些簡單的可以從肉眼看到直接找出是哪幾個數,但是如果對于數據稍微多一點,金額沒有規律的你又怎么能輕易用肉眼找出來呢

一起學一個湊數功能吧:

規劃求解

先看看在EXCEL中哪個位置

數據-模擬分析-規劃求解

看一個例子

B列有12個數,其中B1+B3+B6+B11=16368.94

假設我們事先不知道是這幾個數相加等于16368.94,那我們怎樣從這12個數里面湊出是B1、B3、B6、B11的和是16368.94呢?

具體操作如下 :

1.在c1單元格輸入=SUMPRODUCT(B1:B12,C1:C12)

sumproduct函數用法:

SUMPRODUCT(數組1,數組2, ...),sum是求和的意思,PRODUCT是求積,最后返回的是成績之和。

看一個小例子:

其實就是=1*3+1*4+1*5+1*6+1*2+1*1=21

回到上面,返回的是0,因為C列為沒有值

2.點擊數據-模擬分析-規劃求解,彈出對話框設定相應的條件:

目標單元格是D1,下面勾選目標值在里面輸入剛才的數字16368.94,可變單元格選中剛才為空值的C1到C12,添加類型CI到C12=二進制(二進制的值就是0和1)求解方法選單純線性規劃

(選擇二進制是避免出現零點幾等不規則小數,求解方法選單純線性規劃是明確求解方向,速度和效率更快)

如下圖

保留規劃求解的解

點確定后,我們看到C列有值為0和1

其實最后我們要求的目標值就是C列為1對應左邊B列單元格值的和,剛好就是上面說的

B1、B3、B6、B11

原理就是利用數組乘積得到目標值

特別注意:規劃求解求的是最佳組合,即符合條件的一種最佳方案,如果還有其他幾個數的和也為目標值,是難以求出的,當然如果要求出所有的值可以借助EXCEL的重磅程序VBA來處理,給你看一下VBA設計的湊數工具更快更高效地解決湊數問題吧,看一下效果

比如說我們要從1到10里面找出所有相加等于15的結果

直接在目標值里面輸入15,誤差選0,組合個數選11,點擊不重復求和遞歸就可以得到所有的結果展示在右邊,如下圖

使用VBA更輕松跟快,結果更全面,后面會更新VBA相關的內容(在EXCEL里面使用VBA需要安裝VBA程序)

關注我,一點一滴帶你學Excel和財務實操知識

歡迎評論和轉發,如有工作中實際遇到的問題,可以評論區留言,一起探討

總結

以上是生活随笔為你收集整理的一个数里有那些约数用c++怎么做_如何从一堆数里找出哪几个数相加等于你要的值?...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。