數字型謎題或演算法小節

2021-09-09 04:15:55 字數 2085 閱讀 8594

一、下圖是一張

10 * 10

的數字**,**的對角線上是一系列的重複的數字,嘗試心算出表中所有的數字總和。

答案:數字總和是

1000。

像是這樣的問題,我想很多人在直覺上就會想到——找規律,的確,只要找到規律、之後的事情就變得再簡單不過了。

第一種方法:根據正方形的對稱性來計算。

左上角和

右下角數字之和為

20,平均數為10(

如:1 + 19

,2 + 18

,3 + 17

,4 + 16

等等),也就是說

**中的數字

都換成10 ,其總和也不不變。即

數字總和

為10 * 10 *  10 = 1000 。

第二種方法:逐行

或逐列來計算。

第一行的數字總和

= 1 + 2 + 3 + … + 9 + 10 = ( 1 + 10) * 10 / 2 = 55 。

第二行的數字總和

= 55 + 10

。因為第二行的每乙個數字都比第一行大1。

第三行的數字總和

= 55 + 20。

依次類推…

第十行的數字總和

= 55 + 90。

所有數字總和

= 55 + ( 55 + 10 ) + ( 55 + 20 ) + ( 55 + 30 ) + … + ( 55 + 90 ) = 55 * 10 + ( 10 + 90 ) * 9 / 2 = 1000 。

由此可見,簡單的數學求和公式在此卻起到了巨大作用。

其求和公式原型為:

1 + 2 + 3 + … + n - 1 + n = n(n + 1)/2

變形,求前

n個正偶數的和:

2 + 4 + 8 + … + 2n = 2(1 + 2 + … + n) = n(n + 1)

變形,求前

n個正奇數的和:

1 + 3 + 5 + … + (2n - 1) = (1 + 2 + 3 + … + (2n -1) + 2n ) - (2 + 4 + 6 + … + 2n) = 2n(2n + 1) / 2 - n(n + 1) = n2

另外乙個很重要的公式:

2個各個次冪之和:

2^0  +2^1

+ 2^

2+ … + 2^

n= 2^(

n+1)

- 1。

二、求任意兩個

18 位整數的乘積、其結果末尾有多少個連續的數字0。

注意:求的是結果的末尾有多少個連續的數字0.

我們假設已經計算出

兩個數的乘積為

21601..800000000。

結果可以換種表達方式為:

21601..8 * 108

又因為10只能分解為

2 * 5

,所以也可以表達為:

21601..8 * (2 * 5)8

所以我們可以利用如下方式來計算結果:

1、將兩個乘數

分解質因數

(只分解2 或

5)。 2

、分別計算質因數2 和

5 的個數。 3

、min

(質因數

2的個數,質因數

5的個數)結果即為所求。

上面說的是加法和乘法,下面說乙個關於取餘的。

三、求任意

100位的整數對

7取餘的結果。

想一想,如果我們用筆去計算該問題,我們會怎麼做呢?——除法豎式。

沒錯,我們將用最原始的,小學生都會除法豎式來解決該問題。

方法描述:

先取出100

位數的第一位,被

7除得餘數

(餘數可能為0)。

用餘數和100

位數的第二位,組成乙個兩位數或一位數

(因為餘數可能為

0),然後被

7除得餘數。

依次類推,最後所得餘數即為所求。

數字型 sql注入

select from table where id 8 select from table where username admin select from table where username yiz and 1 1 yiz and 1 1 當作字元查詢了。select from table...

談談網頁中使用奇數字型和偶數字型

相信大多數人在開發中一開始被教導應該使用偶數字型多於奇數字型,但是並不懂其中的緣由。本人總結了一些大牛的看法和實踐。為何偶數居多?1.比例關係 相對來說偶數字型大小比較容易和頁面中其他部分的字型大小構成乙個比例關係。如我使用14px的字型作為正文本號,那麼其他部分的字型 如標題 就可以使用14 1....

pikachu 數字型注入 sqlmap

任意提交資料,使用bp抓包得到post方式提交的引數為 id 1 submit e6 9f a5 e8 af a2 使用sqlmap跑post方式時的格式 python2 sqlmap.py u data 使用sqlmap跑資料庫 python2 sqlmap.py u data id 1 subm...