椤电爜0~N 锛屽叾涓?锛?....9閮藉嚭鐜颁簡鍑犳
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了椤电爜0~N 锛屽叾涓?锛?....9閮藉嚭鐜颁簡鍑犳相关的知识,希望对你有一定的参考价值。
鏍囩锛?a href='http://www.mamicode.com/so/1/%e7%bb%93%e6%9d%9f' title='缁撴潫'>缁撴潫
mes 椤电爜 鏆村姏 main pow std 鍒嗘瀽 return/* 杩欓亾棰樼洰鍙互鏆村姏瑙g瓟锛氬1~n鐨勬瘡涓暟杩涜浠庝綆浣嶅埌楂樹綅鍒嗘瀽 涓€鏃﹁繖涓暟瀛梟um鍑虹幇,a[num]++鍗冲彲 绗簩绉嶆柟娉曪細 鐢?锛?锛?..9缁勬垚鐨勬墍鏈塶浣嶆暟锛屼粠n涓?鍒皀涓?鍏?0^n涓暟锛?锛?锛?..9 鍑虹幇鐨勬鏁颁竴鏍疯涓篴(n),閭d箞鏄撳緱锛? a(n)=10a(n-1)+10^(n-1) (n>1) a(n)=1(n==1)鍖栫畝鍙緱鍒? a(n)=n*10^(n-1). 閭d箞杩欓亾棰樼洰浠庨珮浣嶅埌浣庝綅渚濇澶勭悊锛屾渶鍚庡噺鍘诲浣欑殑鍓嶅闆跺嵆鍙? */ #include <bits/stdc++.h> using namespace std; int n,a[15]; void solve(int n){ int l =log10(n)+1;//n鐨勪綅鏁?/span> int p =n/(int)round(pow(10.0,l-1));//褰撳墠鐨勮繖浣嶆暟瀛? //0~9閮戒細鍑虹幇p*(l-1)*(int)round(pow(10.0,l-2))娆?/span> for(int i =0;i<10;i++) a[i]+=p*(l-1)*(int)round(pow(10.0,l-2)); //0~p-1閮戒細鍑虹幇(int)round(pow(10.0,l-1))娆?/span> for(int i=0;i<p;i++) a[i]+=(int)round(pow(10.0,l-1)); int temp =(int)round(pow(10.0,l-1)); temp=n%temp; if(temp==0) {//閫掑綊鍙互缁撴潫浜? //濡?2500 p鍐嶅嚭鐜颁竴娆★紝0鍐嶅嚭鐜發-1娆?/span> a[p]++; a[0]+=l-1; return ; } int lt=log10(temp)+1; if(lt!=l-1)//濡?0036 { a[0]+=(l-1-lt)*(1+temp); } a[p]+=1+temp; return solve(temp); } int main(){ cin>>n; solve(n); int len = log10(n)+1; //鍑忓幓鍓嶅闆?/span> for(int i =0;i<len;i++) a[0]-=(int)round(pow(10.0,i)); //濡?1536 //00000~09999 0鍑虹幇浜?0000娆? //0000~0999 0鍑虹幇浜?000娆? //000~099 0鍑虹幇浜?00娆? //00~09 0鍑虹幇浜?0娆? //鍐嶅姞涓婁竴涓? for(int i =0;i<10;i++) printf("%d %d ",i,a[i]); return 0; }
以上是关于椤电爜0~N 锛屽叾涓?锛?....9閮藉嚭鐜颁簡鍑犳的主要内容,如果未能解决你的问题,请参考以下文章