題目描述
一天,小
r準備找小
h去游泳,當他找到小
h時,發現小
h正在痛苦地寫著一列數,1,
2,3,
…n,於是就問小
h痛苦的原因,小
h告訴他,現在他要算
1..n
這些數裡面,
1出現的次數是多少,如
n=11
的時候,有
1,10,11
共出現4次1
,現在給出
n,你能快速給出答案麼?
輸入
一行,就是
n,(1<=n<=maxlongint)
輸出
乙個整數,表示
1..n中1
出現的次數。
樣例輸入
11樣例輸出
4思路:
這題找規律,**如下:
var
s,s1,s2:string;
i,x,x1,n,j:longint;
ans:int64;
begin
assign(input,'easygame.in');reset(input);
assign(output,'easygame.out');rewrite(output);
readln(s);
s:='0'+s;
for i:=length(s) downto 2 do
begin
n:=1;
if (i<>length(s)) then
begin
s1:=copy(s,1,i-1);
s2:=copy(s,i+1,length(s)-i+1);
for j:=1 to length(s)-i do
n:=n*10;
val(s1,x);
val(s2,x1);
x:=x+1;
if (s[i]='0')
then begin x1:=0;dec(x);end;
if (s[i]='1')
then ans:=ans+x*n-(n-x1-1)
else ans:=ans+x*n;
end;
if i=length(s) then
begin
s1:=copy(s,1,length(s)-1);
val(s1,x);
ans:=ans+x+1;
if s[i]='0' then dec(ans);
end;
end;
writeln(ans);
close(input);close(output);
end.
簡單遊戲框架
引用 最近一段時間不是很忙,就寫了乙個自己的遊戲伺服器框架雛形,很多地方還不夠完善,但是基本上也算是能夠跑起來了。我先從上層結構說起,一直到實現細節吧,想起什麼就寫什麼。第一部分 伺服器邏輯 伺服器這邊簡單的分為三個部分,客戶端的連線首先到達閘道器伺服器,閘道器這裡有個執行緒用來監聽來自與客戶端的連...
簡單遊戲 easygame
題目描述 一天,小r準備找小h去游泳,當他找到小h時,發現小h正在痛苦地寫著一列數,1,2,3,n,於是就問小h痛苦的原因,小h告訴他,現在他要算1 n這些數裡面,1出現的次數是多少,如n 11的時候,有1,10,11共出現4次1,現在給出n,你能快速給出答案麼?輸入一行,乙個整數n 輸出乙個整數,...
簡單遊戲框架
引用 最近一段時間不是很忙,就寫了乙個自己的遊戲伺服器框架雛形,很多地方還不夠完善,但是基本上也算是能夠跑起來了。我先從上層結構說起,一直到實現細節吧,想起什麼就寫什麼。第一部分 伺服器邏輯 伺服器這邊簡單的分為三個部分,客戶端的連線首先到達閘道器伺服器,閘道器這裡有個執行緒用來監聽來自與客戶端的連...