1樓:誰問我
試問方程1999a+1299b+1499c+2799d+2499e+3299f=2328450.在約束條件 a∈[0,607]、 b∈[0,534]、 c∈[0,60]、 d∈[0,660]、 e∈[0,100]、 f∈[0,209]下的整數解?
#include
intmain
(int
argc
,char
*argv
)elseif(
sum>
776150)m
[sum]=
b*1000+d
;}}printf
("求解完畢,請按任意鍵存為solutions.txt"
);getchar
();FILE*fp
=fopen
("solutions.txt"
,"w"
);printf
("正在儲存,這需要一些時間和數GB硬碟空間!"
);for(f
=0;f
<=209;f++
)for(e
=0;e
<=100;e++
)elseif(
sum>
776150)x
=m[sum]/
1000,y
=m[sum]%
1000
;/*由於給出的b的取值x最大才534,因此連while迴圈也省了。
while(x>0)
fprintf(fp,"%d,%d,%d,%d,%d,%d\n",a,x,c,y,e,f);
x-=933,y+=433;i++;
fprintf(fp
,"%d,%d,%d,%d,%d,%d\n"
,a,x
,c,y
,e,f
);}}}
}fclose(fp
);return0;
}儲存需3GB硬碟空間,且儲存速度由硬碟讀寫速度決定。你可以把列印的fprintf注釋掉,你就知道它的求解速度有多驚人,2秒求解1億五千萬個解,用的只是賽揚。
2樓:Lawliet
單單就正整數解就已經有很多,我執行到500000個解就沒有執行下去了,因為太多了。
ps:如果你想把上面的控制台輸出寫入到文字裡,請自行搜尋C#如何寫入檔案,這裡就不多講了。
ps:如果要把負數的解也求出來,可以把各個未知數的負區間範圍求出來(想求a的最小可能值,把另外的五個未知數的最大值不等式代入問題的公式即可),然後修改遍歷的初始值為最小值。
python 怎麼擬合二元一次方程?
IT野狐禪 用梯度下降法擬合 損失函式用平方差。下面示例上損失函式用絕對值,效果沒平方差好 二元線性擬合 import tensorflow astf 定義模型 Y w X bX tf.placeholder tf float32,None,1 w tf Variable tf zeros 1 1 ...
解一元一次方程怎樣才能弄清楚移項?
晚川 一般地,形如ax b 0 a,b為常數,a 0 的方程叫做一元一次方程。顧名思義,只有乙個未知數x且x的最高次冪是一次。對於這種一般形式的一元一次方程我們有求根公式x b a。簡單講解一下求根公式的推導吧。對於方程ax b 0,我們要最後求出符合條件的x的值。那麼,最後的形式必定是x 乙個數。...
用python求解多元一次方程?
縱然不盡然 想要用隨機生成的陣列去窮盡所有可能還是不太現實,長度為n的數列,一共就有2 n種可能,我試了一下,如果是4個數,也就是16種情況,在1000次重複下,平均要隨機生成53次才能全部生成全部可能,最多的要156次。若果有10個數生成1024種的話,我的電腦已經跑不動了,5個數512種的話平均...