藍橋杯 演算法提高 計算超階乘(C )

2021-10-09 06:26:05 字數 719 閱讀 7359

資源限制

時間限制:1.0s 記憶體限制:256.0mb

問題描述

計算1*(1+k)(1+2k)(1+3k)…(1+n*k-k)的末尾有多少個0,最後一位非0位是多少。

輸入格式

輸入的第一行包含兩個整數n, k。

輸出格式

輸出兩行,每行乙個整數,分別表示末尾0的個數和最後乙個非0位。

樣例輸入

15 2

樣例輸出05

資料規模和約定

1<=k<=10,1<=n<=1000000。

思路分析:由於超階乘的結果很大,我們不能求出結果之後再去求得末尾0的個數以及計算最後乙個非0位。因此,我們可以對每求出的乙個中間結果,對其末尾的0進行計數,並去除中間結果的末尾0,對中間結果取餘再進行計算,依次迴圈,求得最後的答案。

#include

using

namespace std;

intmain()

sum=sum%

100000

;//取餘的時候應該取大點,防止進製時出現差錯

藍橋杯 演算法提高 計算超階乘

試題 演算法提高 計算超階乘 提交此題 評測記錄 資源限制時間限制 1.0s 記憶體限制 256.0mb問題描述 計算1 1 k 1 2k 1 3k 1 n k k 的末尾有多少個0,最後一位非0位是多少。輸入格式 輸入的第一行包含兩個整數n,k。輸出格式 輸出兩行,每行乙個整數,分別表示末尾0的個...

藍橋杯階乘計算

基礎練習 階乘計算 時間限制 1.0s 記憶體限制 512.0mb 問題描述 輸入乙個正整數 n,輸出 n 的值。其中n 1 2 3 n。演算法描述 n 可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。使用乙個陣列 a來表示乙個大整數 a,a 0 表示 a的個位,a 1 表示 a的...

藍橋杯 階乘計算

問題描述 輸入乙個正整數n,輸出n 的值。其中n 1 2 3 n。演算法描述 n 可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。使用乙個陣列a來表示乙個大整數a,a 0 表示a的個位,a 1 表示a的十位,依次類推。將a乘以乙個整數k變為將陣列a的每乙個元素都乘以k,請注意處理相...