-
program divided;var n,i,s:integer;begin s:=0;計數器,用於計算大約多個數字; readln(n);輸入原始編號; for i:
1 to n do if n mod i=0 then begin s:=s+1; write(i:5); end;讓我從 1 到 n 開始看,一旦你發現它能被 n 整除,它就是 n 的除數,計數器是進一步的 1; writeln; write(s);輸出下一行的近似數字(即計數器的最終結果); readln;等待使用者輸入回車鍵以退出程式。
end.
-
最多 2 (n-1)-1 ,當 n 較大時,會有很多重複的除數(例如 *3 這是重複的)。
也就是說,它需要去重!
-
首先使用此號碼例如,相等素數的乘積的表示。
然後在每個素數的指數上加 1,並將它們相乘為該數的近似數,例如 (3+1)*(1+1)=4*2=8,這意味著 24 有 8 個除數。
-
varn,i,ans:integer;
beginreadln(n);ans:=0;
讀入,並將計數器設定為 0
fori:=1ton
doifnmod
i=0then
inc(ans);
從 1 迴圈到 n。
找乙個受人尊敬的,把他的一些因素加到櫃檯上,我就陪你。
writeln(ans);
最愚蠢的輸出結果。
end.
-
function add(f:longint):longint;
varii,ss:longint;
beginfor ii:=1 to n do
if f mod ii=0 then ss:=ss+ii;
add:=ss;
end;這是非重複因子的總和。
示例:add(18)=39
注意:樓上的程式和這個一樣,只是我更擅長,時間和空間複雜度比我高)。
分界線**********==function add(f:longint):longint;
varii,ss:longint;
beginfor ii:=2 to trunc(sqrt(f)) dowhile f mod ii=0 do beginss:=ss+ii;
f:=f div ii;
end;add:=ss;
end;這是分解後主要因素的總和。
示例:add(18)=8
分界線**********==注意:上面的程式我沒有編譯,所以說...
-
求兩個整數(折騰和除法)的最大公約數。
步驟如下:varm, n : integer;
function fac(i, j:integer):integer;
beginif j=0 then begin fac:=i;exit;end;
fac:=fac(j ,i mod j);
end;begin
readln(n, m);
writeln(fac(n,m));
end.或者 var
a,b:integer;
procedure qw(a,b:integer);
varv:integer;
beginif a mod b=0 then writeln(b)else if b mod a=0 then writeln(a)else
beginv:=a;
a:=a mod b;
b:=b mod v;
qw(a,b);
end;end;
beginreadln(a,b);
qw(a,b);
readln;
end.
-
將 1 放在第 3 行...n 讀 1...10(對於乙個固定值,var 下的所有變數都會認為你的陣列相當大,超出了計算機的處理能力)。
-
輾轉反側,大的被小的除。
-
我想補充一點,為了獲得滿分,您需要使用高精度計算。
舉個簡單的例子,分解後的素因數 12 可以如下:12 = 2x2x3 = 4x3 = 1x12 = 2x6,其中 1、2、3、4、6 和 12 可以說是 12 的因數,即幾個數的乘法等於乙個自然數,那麼這些數字就是這個自然數的因數。 其中 2、3、4、2 和 3 是質數,它們是質因數,4 不是質數。 >>>More
如何將計算器乘以相同的數字首先計算 2*2= 然後按 m+,在 3*3= 中,在按 m+,在按 4*4=,然後按 m+,然後按 mrc 是結果。 was the dead body?和世衛組織 I >>>More
百分比練習題。
1. A 是 2,B 是 3,A 是 B ( ) B 是 A ( ) A 是 A 和 B ( ) B 的總和 B ( ) 括號內有多少百分比)。 >>>More