matlab如何對100進行質數分解?

2025-02-15 19:55:08 字數 2948 閱讀 7941

1樓:我只是想感動我

主函式 function test() x = for i=1:100 flag = isprime(i); if flag x = x,i]; end end disp('1-100之間的質數有:')x end % 子函式 function out = isprime(n) flag = 1; for i=2:

ceil(sqrt(n)) if mod(n,i)==0 flag = 0; break; end...

2樓:

%方案1function list = prime( c )例如:c=1200,則list=[2 2 2 2 3 5 5];

list=stp=2;

for i=2:c

if mod(c,stp)==0

list(end+1)=stp;

c=c/stp;

elsestp=stp+1;

endend

end%%方案2%%%

function list = prime( c )list=stp=2;

while ~isprime(c)

因為不清楚方案1裡面列舉量不足,我沒數學證明。

所以也可以直接用內建的判斷是否為質數的函式,isprime,來判斷c是否已經質因數分解完了。

if mod(c,stp)==0

list(end+1)=stp;

c=c/stp;

elsestp=stp+1;

endend

因為分解完了上面的c就變成了質數,需要把最後這個質數新增到list裡面就好啦~

list(end+1)=c;end

用matlab將乙個100以內的正整數分解為質因數的乘積

3樓:網友

乙個for迴圈,然後matlab裡也自帶判斷質因數的函式。

用matlab自程式設計序找出1到100中的質數,並把所有質數放到乙個向量中

4樓:木生子識時務

% 主函式。

function test()

x = ;for i=1:100

flag = isprime(i);

if flag

x = [x,i];

endend

disp('1-100之間的質數有:');

xend 子函式。

function out = isprime(n)flag = 1;

for i=2:ceil(sqrt(n))if mod(n,i)==0

flag = 0;

break;

endend

out = flag;end

matlab如何能夠分解大於2^32的質數?

5樓:網友

你這種題,一般地,並蔽都不能用系統的整形數(慎纖浮點數有效數值肯定也有問題),所以一般都是用字串來表示,另外再自己弄一些相應的加減乘除運算。絕孝州。

估計計算量很大。

6樓:網友

把機器自動進位,改成蘆歲旁**完成,不要直接呼叫函式啊,我想更大,也好做啊,我雀悄上學的時候,老師讓我用fortran求10000! 也陪橡是類似的方法做的,直接呼叫函式肯定夠嗆,

用matlab程式設計1到100之間的素數

7樓:後諸葛

%生成1-100之內的素數。

clear;k=0;a=;

for i=2:100

for j=1:i

if mod(i,j)==0

k=k+1;

endend

if k==2

a=[a,i];

endk=0; %如果不增加此行,則是在之前k的基礎上繼續增加,之後的k都不可能取到2

enddisp(a)

誰會用matlab編寫程式,求100以內的質數!!!……求詳細過程

8樓:匿名使用者

% 主函式。

function test()

x = ;for i=1:100

flag = isprime(i);

if flag

x = [x,i];

endend

disp('1-100之間的質數有:');

xend 子函式。

function out = isprime(n)flag = 1;

for i=2:ceil(sqrt(n))if mod(n,i)==0

flag = 0;

break;

endend

out = flag;end

如何用matlab求1-100之間的素數

9樓:護膚達人it宅族

// 列印1-100之間的所有素數。

素數是除了1與本身之外沒有其他約數的數(1除外),即從2開始到i-1;

標記是素數。

boolean flag=true;

for(int i=2;i<=100;i++)if(flag)

請教如何利用matlab對矩陣進行右互質分解

10樓:網友

因為會用到矩陣的初等變換,所以matlab不會啊。

怎樣在matlab中編制乙個命令式檔案,計算100以內質數之和。

11樓:網友

將下面內容儲存為,儲存到matlab當前工作目錄下,在command window裡輸入primesum,回車。

a=0;for i=1:100

if isprime(i)

a=a+i;

endenda

求助Matlab怎麼對矩陣中的列向量進行置亂操作

用randperm n 產生隨機數,讓 你的向量按回這個隨機數重新排列 答clear,clc a repmat 1 10 1,2 n randperm size a,1 for i 1 size a,2 a i a n end a 在matlab中怎樣取矩陣的列向量呀 直接對矩bai陣進行取列操du...

在matlab中如何將矩陣進行全排列

舉例 a randn 4,3 a a a sort a a reshape a,4,3 a magic 5 a為資料矩陣,你改你的資料即可。n numel a a ceil rand 1 n 在matlab中 如何進行全排列 a perms 1 2 3 4 5 0 0 a1 find a 1 0 a...

如何用MATLAB進行自變數和多個因變數的資料擬合將四

matlab可以做函式擬合,沒問題。如果能已知函式關係,只是待定引數的話,會很容易。否則,就得自己猜一個函式關係,這樣麻煩些 如果蒙不到正確的函式形式就很難有好效果了。如何用matlab資料擬合函式 附件1通道2通道3高度0.30.91.52.12.70.30.91.52.12.7距空調位置2.4 ...