題目描述
遠古的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不能含有數字...