java统计数字问题.doc

java统计数字问题.doc

ID:55276529

大小:22.00 KB

页数:4页

时间:2020-05-08

java统计数字问题.doc_第1页
java统计数字问题.doc_第2页
java统计数字问题.doc_第3页
java统计数字问题.doc_第4页
资源描述:

《java统计数字问题.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1统计数字问题1.1算法设计思想设书的页数为n由0,1,2...9组成的所有n位数。从n个0到n个9共有10^n个n位数。在这10^n个n位数中,0,1,2.....9第个数字使用次数相同。f(n)满足如下递推式:f(n)=n*10^(n-1)。通过这个方法算出0-9数字出现的次数,最后减去0的个数。1.2程序源码importjava.util.Scanner;publicclassCount{publicstaticvoidmain(String[]args){int[]count=newint[10];//建立一个数组,表示数字count[i]

2、出现的次数int[]f19={0,1,19,280,3700,46000,550000,6400000,73000000,820000000};//f19[i]表示i位数里面,没有前导0时,数码i出现的次数,例如10-99int[]f0={0,1,9,180,2700,36000,450000,5400000,63000000,720000000};//f0[i]表示i位数里面,没有前导0时,数码0出现的次数int[]Next={0,1,20,300,4000,50000,600000,7000000,80000000,900000000};//N

3、ext[i]表示为了计算i+1位数的各个数码出现的次数,需要知道i位数考虑前导0时,各个数码出现的次数,例如00-99int[]Num={1,10,100,1000,10000,100000,1000000,10000000,100000000,1000000000};//Num[i]表示i位数里一共有多少个数,例如2位数共100个,00-99inti,j,k,sum=0;intpage,temp;System.out.println("实验一算法的分析基础");System.out.println("题目:统计数字问题");Scannerread

4、er=newScanner(System.in);System.out.println("输入:");page=reader.nextInt();longstartTime=System.nanoTime();//获取开始时间while(page!=0){temp=page;for(i=0;i<10;++i)count[i]=0;if(page>9)count[0]-=1;while(temp!=0)//计算page的位数{++sum;temp=temp/10;}for(i=1;i

5、含有多少个0-9count[0]+=f0[i];j=1;while(j<=9){count[j]+=f19[i];++j;}}k=1;while(sum!=0){--sum;temp=page/Num[sum];if(k==1){//考虑到最高位为0时,不能进行统计count[0]+=(temp-1)*Next[sum];for(i=1;i

6、;}else{//除了最高位以外的位为0时,需要进行统计for(i=0;i

7、i<10;++i)System.out.println(count[i]);System.out.println("运行时间:"+(endTime-startTime)+"ns");//获得程序运行的时间}}}1.3实验结论(结果验证)Input1Input999Input9Input33Input99Input100Input1000000Input37281947Input26824326Input94327471.4心得体会通过老师的讲解和网上代码的参考才完成,自己写的程序运行总是出错,只能到网上参考一下了。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。