NOIP2013T1 记数问题
var a,d,i,t,x:longint; begin assign(input,'count.in'); reset(input); assign(output,'count.out'); rewrite(output); readln(a,d); for i:=1 to a do begin t:=i; while t>0 do begin if t mod 10=d then inc(x); t:=t div 10; end; end; writeln(x); close(input); close(output); end.
#include<cstdio> using namespace std; int main(){ int a[1000000],t,n,x,i; scanf("%d%d",&n,&x); for(i=1;i<=n;++i){ a[i]=a[i/10]+(i%10==x); t=t+a[i]; } printf("%d\n",t); return 0; }
转载于:https://www.cnblogs.com/qilinart/articles/4045551.html