一区二区三区成人-一区二区三区www-一区二区三区 日韩-一区二区日韩欧美-一区二区日韩精品中文字幕-一区二区日韩

ycllzl1314
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 66 個
工控威望: 196 點
下載積分: 901 分
在線時間: 328(小時)
注冊時間: 2013-12-10
最后登錄: 2025-01-22
查看ycllzl1314的 主題 / 回貼
樓主  發(fā)表于: 2015-08-01 23:24
遇到點問題,請師傅們幫忙看看。

有D1  D2  D3 `````D10    一共10個寄存器數(shù)據(jù),有常數(shù)K,

10個寄存器數(shù)據(jù)順序排放,每次N個相加,要求(D1+D2+DN )最大并且小于 K,求N

如果用PLC寫上面的程序,該怎么寫,一點思路都沒有,PLC用松下的
lvpretend
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 1264 個
工控威望: 1434 點
下載積分: 3699 分
在線時間: 324(小時)
注冊時間: 2015-07-20
最后登錄: 2024-11-29
查看lvpretend的 主題 / 回貼
1樓  發(fā)表于: 2015-08-02 14:58
沒看懂:
10個寄存器數(shù)據(jù)順序排放,每次N個相加,要求(D1+D2+DN )最大并且小于 K,求N。
既然每次有N個數(shù)相加,為什么有要求(D1+D2+DN)三個數(shù)了。
你是不是說的N個數(shù)相加,小于K,最大的組合,要求全部組合還是一個就行(因為可能出現(xiàn)多個結果相同)?
這是個排列組合呀!計算量有點大。
首先,10個數(shù)N1,N2,N3,N4,N5,N6,N7,N8,N9,N10。
再定義10個緩沖區(qū)A1,,,,,,,,A10,10個緩沖區(qū)相加,A1+A2+,,,,,,,+A10
N1,,,,,N10可以對應分別移入A1,,,,A10,具體移動幾個數(shù),看情況。不移入的,填寫0.
如何確定哪些要移入呢?
設一個可以位操作的16位數(shù)D(其實只需使用低10位),對這個數(shù)每次加1,直到10位完成,2^10=1024,也就是要做1024次。
每次計算結果判斷大于K,丟棄。小于K,結果存放到一個中間暫存變量中(定義MAX),且把這個D也存入一個數(shù)據(jù)隊列中。
D由1開始計算,1的16位二進制編碼為0000 0000 0000 0001
先把A1,,,A10清0
那么按位尋址D-M1位1,則把N1移入A1,其它為0則不移動
A1,,,,A10累加,結果與K比較,大于K,不管,小于K,存入。

下一個循環(huán),
A1,,,A10清零
D+1=2,二進制編碼為0000 0000 0000 0010
把N2,移入A2,再累加,,,,,

現(xiàn)在你懂了吧,也就是把1024種組合全部計算完,就可以找出全部符合你要求的數(shù)。
當然這個算法不夠簡練,是最笨的方法,但編程會方便些。其它算法會復雜些,計算速度也要快些,但編程不方便。

這個用時間中斷來寫,比如1mS中斷一次,這樣在1S多點就能求出結果。

主站蜘蛛池模板: 日本三级大学生17 | 无人区国产大片 | 特黄特色大片免费高清视频 | 国产精品怡红院在线观看 | 99久久精品自在自看国产 | 9久热久爱免费精品视频在线观看 | 国产在线观看网站 | fistingvideos头交尿眼 | 肥胖女人一级毛片 | 天美传媒传媒免费观看 | 向日葵视频app下载18岁以下勿看 | 91精品国产免费久久国语蜜臀 | 丝袜捆绑调教丨vk | 国产亚洲欧美日韩综合综合二区 | 亚洲第一二三四区 | 美女露鸡鸡 | 亚欧洲乱码视频一二三区 | 日本色淫 | 天天拍天天色 | www.亚洲天堂 | 婷婷日韩| 国产亚洲精品一区二区在线播放 | 亚洲国产精品成人午夜在线观看 | 亚洲日本视频在线观看 | 亚洲国产精品成人午夜在线观看 | 3d动漫被吸乳羞羞 | 女同videos双性人 | 狠狠鲁视频 | 金牛网155755水心论坛黄大父母 | 国产欧美日韩精品一区二区三区 | 美女靠逼免费视频 | 天天色天天综合 | 成人18网址在线观看 | α级毛片 | 精品综合一区二区三区 | 男人插曲女人下面 | 男女男精品网站免费观看 | 好男人社区www影院在线观看 | 第一次处破女18分钟 | 久久人妻少妇嫩草AV无码 | 国产成人综合亚洲亚洲欧美 |