我想問程式設計的問題 請程式設計求1 2 3N所得的數末尾有多少個0?(N由鍵盤輸入(N1000000)急

時間 2022-05-27 22:50:25

1樓:背對胸抱抱

program t1;

var i,j,k2,k5,m,n:longint;

begin

readln(n);

for i:=1 to n do

begin

m:=i;

while m mod 2=0 do

begin

m:=m div 2;

k2:=k2+1;

end;

while m mod 5=0 do

begin

m:=m div 5;

k5:=k5+1;

end;

end;

if k2>k5 then writeln(k5)else writeln(k2);

end.

媽的, lydrainbowcat太不要臉了

2樓:匿名使用者

最樸素最簡單的方法:挨個往上乘,為了防止運算出界,可以每次判斷mod 10是否為0,為0則div 10並把0個個數加1。

方法二:寫個分解質因數的程式,統計有多少個5(因為2個個數肯定比5多而且2*5=10)

var i,j,k2,k5,m,n:longint;

begin

readln(n);

for i:=1 to n do

begin

m:=i;

while m mod 2=0 do

begin

m:=m div 2;

k2:=k2+1;

end;

while m mod 5=0 do

begin

m:=m div 5;

k5:=k5+1;

end;

end;

if k2>k5 then writeln(k5)else writeln(k2);

end.

3樓:匿名使用者

x和空格是一起按的還是輪流按的!

for 8 迴圈8次keypress "x", 1 注釋:按x鍵一次delay 1000 延遲1秒種keypress "space", 1 按空格鍵一次delay 1000 延遲1秒鐘next

leftdown 1 按下左鍵delay 8000 等8秒leftup 1 彈起左鍵rightdown 1 按下右鍵delay 8000 等8秒種rightup 1 彈起右鍵需要在指令碼另外設定啟動和停止熱鍵 設定為按終止鍵停止 否則只執行一邊

4樓:火也快樂

我用asp給你寫乙個:

a=1for i=1 to n

a=a*i

next

response.write(a)

5樓:

program jc;

var a,b,i,m,n,v:integer;

begin

readln(n);

v:=1;

for i:=2 to n do

v:=i*v;

m:=0;

repeat

m:=m+1;

b:=v mod 10;

until b<>0;

b:=b-1;

writeln(b);

readln;

end.

請程式設計求1*2*3*4*5*n所得的數末尾有多少個0

6樓:匿名使用者

統計有多少個5就可以了,乙個5乙個0

7樓:唉唉唉

方法不為一:

暴力算出後判斷

判斷5的個數

請程式設計求1x2x3x.xn所得的數末尾有多少個0

8樓:特好聽

末尾是5的與偶數相乘積的末尾會多乙個0,末尾是50的與偶數相乘積的末尾會多兩個0,末尾是25、75的數與末尾是4、8的數相乘積的末尾會多兩個0,整十數使積的末尾會多乙個0,整百數會使積的末尾多兩個0 100內(包括100)末尾有5的數

能用vb的知識回答: . 編寫程式:設t=1×2×3×…×n,求t不大於4000時的最大n。

9樓:聽不清啊

private sub command1_click()t = 1

n = 1

while t <= 4000

n = n + 1

t = t * n

wend

t = t / n

n = n - 1

msgbox "t不大於4000時的最大n=" & n & vbcrlf & "此時t=" & t

end sub

10樓:寒信

aa=1

i=1do while aa<4000

i =i+1

aa=aa* i

loop

i-1就是你需要的

11樓:polaris北斗

dim t as integer, n as integern = 2

t = 1

while t <= 4000

t = t * n

n = n + 1

wend

n = n - 1

t = t / n

print n

print t

12樓:匿名使用者

dim n as integer

t=1for n =2 to 4000

t=t × n

if t > 4000

print n-1

end if

next

13樓:匿名使用者

dim n as integer,t as integert=1n=1

do while (t<4000)

n=n+1

t=t*n

loop

print n-1 '跳出迴圈時的n已經使t<4000,所以要退回n-1才是所求

c語言程式設計:求1/1×2+1/2×3+1/3×4+……1/n×(n+1)

14樓:別動隊領導

#include

void fun(int n);

int main(void)

void fun(int n)

15樓:曉凡

估計大多數人都小學的時候都做過這個。

其實1/n*(n+1)=1/n-1/(n+1);

所以這個函式可以這樣寫。

float fun(float n)

主函式中

int main()

16樓:匿名使用者

int fun(int n)

程式設計:已知s=1×2×3×…×n,試編寫程式,求出s不大於5000的最大整數n,以及s的值

17樓:匿名使用者

這個太簡單了吧?

int product = 1;

for (i = 1; ; ++i)

printf("n is %d, s is %d\n", i, product);

同學,你如果是計算機相關專業的話,加油啊!這種題做不出來,麻煩大了啊!

18樓:匿名使用者

int s=1,n;

for(n=1;s<5000;n++)

s*=n;

s/=n;

n--;

編寫程式,求s=1×2×3 2×3×4 …… n×(n 1)×(n 2)的值。n由文字框輸入

19樓:明日華星

首先如果問題是s=1×2×3+2×3×4 …… +n×(n+1)×(n+2),是將3個連續遞增的數相加,那可以這樣解決(c語言):

1、首先式子中的n是由我們輸入,所以應該寫scanf("%d", &n); 當然n變數先要在前面定義好;

2、然後就是要解決算式中的演算法問題了,可以看出式子是前一串加後一串這樣子的,而且每一串的數都是連續遞增的,並且每兩串之間每個數也是遞增關係的,所以我們其實只需要寫出一串的演算法就可以了,也就是:n * (n+1) * (n+2)  這樣可以了

3、那麼如果n>1呢,也就是說式子要執行多次,那麼這時就需要乙個變數s來儲存前面算的值,然後用這個值加上後面算出來值,即:s = s + n * (n+1) * (n+2);

即:int n=0, s=0, i;

scanf("%d", &n);

for(i=1; i<=n; i++)    // i=0時s=0,所以可以直接設為從1開始才做運算

20樓:聽不清啊

private sub command1_click()dim n as integer

y = 0

n = text1

for i = 1 to n

y = y + i * (i + 1) * (i + 2)next i

text2 = y

end sub

C語言程式設計問題1! 2! 3n,C語言程式設計問題 求 1 2 3 n 30

sum sum f2 i 是在for i 1 i n i 迴圈體內,那麼i是實參,也就是沒執行一次f2 i 就執行一次i!那麼當i取到n的時候這個時候f2 i 就是執行的n!f2函式當中的x是f2函式的形參,那麼這裡的x的值顯然是f1函式中傳遞下來的實參i呀,因為i在for迴圈體內,那麼最後當i達到...

C簡單程式設計問題幫忙看一下,會C 程式設計的請幫忙設計一下幾個簡單問題吧,謝謝了。。。

棧和佇列的應用,下面包含了進棧 出棧 進隊 出隊。1 利用順序棧將乙個非負的十進位制整數n轉換為對應的b進製數。要求 非負的十進位制整數n和b都從鍵盤輸入 轉換結果從螢幕輸出。include iostream.h include malloc.h include conio.h include st...

關於程式設計的問題,乙個關於程式設計的問題?

c語言就是一種組合語言。就是用來編寫程式的,你要程式設計序,你就要想要編什麼樣的程式,想到要編寫的程式了,你就可以去看一些相關的資料了。你還可以學其他的程式語言。c語言博大精深啊,作業系統都可以編,你好好研究吧,我是計算機專業的,大一在學,現在大三還在學啊 仁兄,先弄懂你要幹什麼再學c吧,c不是說學...