階乘與整除

2021-06-21 03:13:11 字數 820 閱讀 2221

/*

* 對於整數n,n的階乘表示為n!定義如下 0! = 1 n! = n * (n - 1)! 給定n和m,

* 問n!是否是m的倍數? n和m全在32位整數範圍內,m非0。 返回1和0表示整除和不整除。

*/#include #include int func(int n, int m)

; int num[33] = ;

int flag = 0;

int sum = 0;

int temp = 0;

// 特殊情況:當n大於m和當n等於0時

if(n > m || (n == 0 && m == 1))

if(n == 0 && m != 1)

// 從2開始,算出m能拆解成多少個2*2*...*3*3...*5*5...記錄在陣列中,m拆解出的長度不會超過32

for(i = 2; i <= temp_m/2+1; i++)

num[flag]++;}}

for(j = 1; j < 33; j++)

else

}// 1--n這些數里,有temp個是array[j]的倍數,也就是包含了temp個array[j]

// temp=temp/array[j]相當於計算1--n這些數中有temp個是array[j]^2的倍數...

temp = temp_n / array[j];

while(temp != 0)

if(sum < num[j])

sum = 0;

}return 1;

}int main()

數論分塊與整除相

引理一 forall a,b,c in mathbb,left lfloor frac right rfloor left lfloor frac right rfloor right rfloor 略證 begin frac left lfloor frac right rfloor r 0 le...

L先生與階乘

沒錯,可憐的l先生又遇到了一道數學難題!n的階乘的末尾有多少個0?多測試例,處理到檔案結束。總測試例數量 15000 每行有乙個測試例,為乙個非負整數n 0 n 15000 每個測試例對應的輸出佔一行 1 230 00 思路 如果我們要判斷出0的個數,如果我們直接求n 那麼資料會很大,資料可能溢位,...

VB判斷整除並整除

private sub command1 click dim m as integer,n as integer,d as integer dim s as long 儲存結果 m val text1.text n val text2.text d val text3.text s 0 sum m,...