史豐收速算 藍橋杯

2021-07-27 15:00:06 字數 842 閱讀 2162

史豐收速演算法的革命性貢獻是:從高位算起,**進製。不需要九九表,徹底顛覆了傳統手算!

速算的核心基礎是:1位數乘以多位數的乘法。

其中,乘以7是最複雜的,就以它為例。

因為,1/7 是個迴圈小數:0.142857...,如果多位數超過 142857...,就要進1

同理,2/7, 3/7, ... 6/7 也都是類似的迴圈小數,多位數超過 n/7,就要進n

下面的程式模擬了史豐收速演算法中乘以7的運算過程。

乘以 7 的個位規律是:偶數乘以2,奇數乘以2再加5,都只取個位。

乘以 7 的進製規律是:

滿 142857... 進1,

滿 285714... 進2,

滿 428571... 進3,

滿 571428... 進4,

滿 714285... 進5,

滿 857142... 進6

請分析程式流程,填寫劃線部分缺少的**。

//計算個位 

int ge_wei(int a)

//計算進製 

int jin_wei(char* p)

;char buf[7];

buf[6] = '\0';

strncpy(buf,p,6);

int i;

for(i=5; i>=0; i--)

}return 0;

}//多位數乘以7

void f(char* s) 

printf("\n");

}int main()

注意:通過瀏覽器提交答案。只填寫缺少的內容,不要填寫任何多餘的內容(例如:說明性文字)

答案:if(r<0) return i;

藍橋杯 標題 史豐收速算

史豐收速演算法的革命性貢獻是 從高位算起,進製。不需要九九表,徹底顛覆了傳統手算 速算的核心基礎是 1位數乘以多位數的乘法。其中,乘以7是最複雜的,就以它為例。因為,1 7 是個迴圈小數 0.142857.如果多位數超過 142857.就要進1 同理,2 7,3 7,6 7 也都是類似的迴圈小數,多...

藍橋 史豐收速算

史豐收速演算法的革命性貢獻是 從高位算起,進製。不需要九九表,徹底顛覆了傳統手算 速算的核心基礎是 1位數乘以多位數的乘法。其中,乘以7是最複雜的,就以它為例。因為,1 7 是個迴圈小數 0.142857.如果多位數超過 142857.就要進1 同理,2 7,3 7,6 7 也都是類似的迴圈小數,多...

藍橋杯 2014真題 史豐收速算

史豐收速演算法的革命性貢獻是 從高位算起,進製。不需要九九表,徹底顛覆了傳統手算 速算的核心基礎是 1位數乘以多位數的乘法。其中,乘以7是最複雜的,就以它為例。因為,1 7 是個迴圈小數 0.142857.如果多位數超過 142857.就要進1 同理,2 7,3 7,6 7 也都是類似的迴圈小數,多...