[討論] SCILAB寫程式計算小於n的質數個數已回收

看板MATLAB作者 (我也想要光世代)時間13年前 (2010/11/16 00:10), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串1/1
剛才看到網友facebook問道1787是第幾個質數 於是小弟馬上就開scilab來寫個簡單的程式跑一下 程式如下 clc;clear; count=0; n=input("Enter a number:") for i=2:n for j=2:ceil(sqrt(i)) if modulo(i,j)==0 count=count+1; //小於n的合數個數 break; else end end end disp(n-count) //小於n的質數個數 黃色那行本來是直接宣告n=1787 後來我想知道小於10000的質數個數於是把他改寫成可以手動輸入 但是問題來了 囧 再次執行竟然出現問題 Enter a prime number:-->10000 n = [] for i=2:n !--error 204 Argument 2, wrong type argument: expecting a scalar at line 4 of exec file called by : exec("D:/Scilab/countprinum.sci"); in execstr instruction called by 這是什麼意思? 之後程式重開又可以跑,但是只要execute第二次就會出現這個玩意 這是不是input指令的bug呀? -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.60.246.42

11/16 01:32, , 1F
p?
11/16 01:32, 1F
※ 編輯: pastfox 來自: 61.60.246.42 (11/16 03:39)

11/16 04:59, , 2F
input是不是只能輸入字串?
11/16 04:59, 2F

11/16 11:17, , 3F
如果要輸入數字要用什麼指令,昨天花了三個小時只找到這個
11/16 11:17, 3F

11/16 19:03, , 4F
我用5.2版跑你的程式沒有問題耶
11/16 19:03, 4F
文章代碼(AID): #1CuLjftt (MATLAB)