洛谷題解P1590 失蹤的7

2021-10-09 22:49:07 字數 1251 閱讀 2401

題目描述

遠古的pascal人也使用阿拉伯數字來進行計數,但是他們又不喜歡使用7,因為他們認為7是乙個不吉祥的數字,所以pascal數字8其實表示的是自然數中的7,18表示的是自然數中的16。下面計算一下,在正整數n範圍以內包含有多少個pascal數字。

輸入格式

第一行為正整數t,接下來t行,每行乙個正整數n(≤

232−

1)

n(\leq2^32-1)

n(≤232

−1)。

輸入的是pascal數字

t

≤10000

t \leq 10000

t≤1000

0 輸出格式

對於每個正整數n,輸出n以內的pascal數的個數。

輸入輸出樣例

輸入210

20輸出918

用暴力就gg了

所以我們要轉換一下思路。

對於乙個數,我們可以將它的每一位都拆開來。然後在分別它每一位中不是7的個數。

樣例

比如我們輸入乙個數127。

他的百位為1,十位為2,各位為7。

先判斷個位,從0到7之間不是7的個數為6。

然後我們在判斷2,因為2是十位,所以我們可以知道1-2中每乙個數都有10個數而只有九個數是非7的。(因為

在個位中

有乙個7

)(因為在個位中有乙個7)

(因為在個位

中有乙個

7)最後是百位1,我們可以算出有9×9

=81

9\times9=81

9×9=81

(其中個位有九個數,十位有九個數)

所以我們總共有滿足條件的個數為81+9

×2+(

7−1)

=105

81+9\times2+(7-1)=105

81+9×2

+(7−

1)=1

05。**如下

#include

//萬能標頭檔案

using

namespace std;

int n, t;

long

long p, sum, x;

intmain()

cout << sum <}}

洛谷P1590 失蹤的7

洛谷p1590 失蹤的7 題目描述 遠古的pascal人也使用阿拉伯數字來進行計數,但是他們又不喜歡使用7,因為他們認為7是乙個不吉祥的數字,所以pascal數字8其實表示的是自然數中的7,18表示的是自然數中的16。下面計算一下,在正整數n範圍以內包含有多少個pascal數字。輸入輸出格式 輸入格...

洛谷 P1590 失蹤的7

時間限制 1.00s 記憶體限制 125.00mb 遠古的pascal人也使用阿拉伯數字來進行計數,但是他們又不喜歡使用7,因為他們認為7是乙個不吉祥的數字,所以pascal數字8其實表示的是自然數中的7,18表示的是自然數中的16。下面計算一下,在正整數n範圍以內包含有多少個pascal數字。第一...

失蹤的7題解

遠古的pascal人也使用阿拉伯數字來進行計數,但是他們又不喜歡使用7,因為他們認為7是乙個不吉祥的數字,所以pascal數字8其實表示的是自然數中的7,18表示的是自然數中的16。下面計算一下,在正整數n範圍以內包含有多少個pascal數字。注意 n是以pascal數字形式輸入的,即n不能含有數字...