亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

那為什么gcd()這個返回值為何為負?

那為什么gcd()這個返回值為何為負?

慕容3067478 2022-12-21 19:15:06
是求兩個整數的最大公約數,返回值是正整數,那為什么gcd(28,1.135181137086446e+018)這個返回值為何為負?
查看完整描述

2 回答

?
嗶嗶one

TA貢獻1854條經驗 獲得超8個贊

就是p取為其中與q互素的那些元素 
————————————————————————————
在matlab中可以利用邏輯值提取矩陣元素。方法是
B=A(L)
其中L是和A的size完全一致的0-1邏輯矩陣,所得的B是A中與L對應位置為1的那些元素所組成的向量。
在本例中,gcd(q,p)==1就是0-1邏輯向量,若p中與q的最大公約數為1則為1(即T),否則為0(即F).于是p = p(gcd(q,p)==1)就把p中那些與q互素的元素重新定義為p了 。與其等效的語句還可寫成p(gcd(q,p)~=1)=[];意思是把那些不互素的元素給刪了。

查看完整回答
反對 回復 2022-12-25
?
慕尼黑的夜晚無繁華

TA貢獻1864條經驗 獲得超6個贊

警告說的很清楚啊 數字太大了 結果不對。
不過這個求最大公約數,手算也可以把 28 = 2*2*7
顯然1.135181137086446e+018能被4和7整除,所以最大公約數就是28。
有些東西知道原理,不一定要求助工具的啊

gcd(28,1.135181137086446e+018)
Warning: Inputs contain values larger than the largest consecutive flint.
Result may be inaccurate. 
> In gcd>warnIfGreatThanLargestFlint at 77
In gcd at 43

ans =

-4

查看完整回答
反對 回復 2022-12-25
  • 2 回答
  • 0 關注
  • 126 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號