上市公司所披露的信息按其内容分为强制性信息披露和自愿性信息披露。强制性信息披露的格式和内容由于受法规的局限,已经远不能满足投资者对信息的需求, 投资者需要企业主动提供信息。这样,自愿性信息披露便应运而生。本文以探究上市公司的盈利能力与自愿性信息披露质量的关系为视角,以沪、深A股上市公司为研究对象,对自愿性信息披露的质量采用平衡记分卡式的模块思路进行实证分析。
一、理论基础与文献综述
契约理论认为,高盈利公司的经理层更有积极性对外披露信息,从而为维持他们的地位、声誉和薪酬安排提供理由(Wallaceetal,1994;Inchausi,1997)。信号理论也有相同的暗示,认为绩效较好的公司将自愿披露更多信息,以使市场正确评价其盈利水平,从而吸引更多的资本或避免股票的价值被市场低估(Grossman anHart,1980;Milgrom,1981)。与上述理论预期相一致,Lang 和 Lundlholm(1993)根据1985至1989 年间公司信息披露的评分,研究影响企业自愿性信息披露的因素,实证结果发现:绩效越好的公司其披露的评分等级越高。Forker(1992)选择了多伦多证券交易所上市的 80 家最大的上市公司实证研究得出结论:业绩因素会促进上市公司自愿披露更多的信息。Miller(xxxx)也发现随着公司盈利水平的提高,公司的信息披露水平也会相应提高。国内学者乔旭东(xxxx);诸葛栋,封思贤(xxxx)实证研究得出结论:中国上市公司自愿性披露程度与公司盈余业绩成正相关关系。而崔学刚、朱文明(xxxx);乔旭东(xxxx)采用回归分析方法研究发现,公司的自愿性信息披露水平与公司的盈利水平呈负相关。由此可见,国内外学者的研究结果有差异,但国内有影响力的研究成果尚不多。
二、研究框架与实证构建
(一) 研究假设: 盈利能力强的上市公司倾向于进行更多信息的自愿性披露。因此, 本研究假设上市公司的盈利能力与自愿性信息披露质量正相关。
(二)样本选取
本研究随机抽取了xxxx年前上市的沪、深A股200家能取得完整财务数据的上市公司作为样本。样本中首先剔除了没有可比性的st上市公司和金融类上市公司及xxxx年更名或新上市的公司。研究期间为xxxx年。样本公司的财务数据来源于巨灵信息网和中国证监会网站。选用的分析软件为SPSS115。本项研究选取样本的行业分布情况如表1。
表1 样本的行业分布情况
行业 样本数 比例
农、林、牧、副、渔业 6 3%
采掘业 5 25%
制造业 119 595%
电气、煤气及水的生产和供应业 15 75%
建筑业 5 25%
交通运输、仓储业 9 45%
信息技术业 13 65%
批发和零售贸易 12 6%
综合类 9 45%
社会服务业 7 35%
合计 200 100%
(三)变量的选择与确定
1因变量披露项目与评价体系的选择与确定
上市公司自愿性信息披露的内容可从公司公开发布的中报、年报、中报、定期报告及临时报告等资料中选取,其办法是首先优先采纳过去相关研究中建议的披露项目,再将初步筛选项目与中国证监会的《公开发行证券的公司信息披内容与格式准则第2号<年度报告的内容与格式>》(xxxx)中规定的披露项目进行对照,并删除强制性信息披露项目,便得到自愿性信息披露项目。本文采用平衡记分卡式的模块思路进行实证分析时,采纳Meek等人用构建信息披露明细表的做法来计算信息披露指数。这样,可将上市公司自愿性信息披露程度评价的指标体系分为:战略信息披露(28)、非财务信息披露(37)和财务信息披露(48)三个模块。
由于自愿性信息披露是属于定性项目,很难直接显示为数字进行计量。因此,在衡量上市公司自愿性信息披露质量时,按每家上市公司实际披露的项目总数,为每个样本公司评分。在评分时采用 “0-1指标评分法”,即若有一项属于自愿性披露项目,就计1分;否则计0分。应当注意的问题是,当某一项目并未包含在披露信息中,是计未披露还是计不适用(N/A )。通常将信息条目所赋予的分值汇总成信息披露指数。其方法有两种:一种是信息条目直接汇总,假定其重要性是一样的;第二种方法是对每一信息条目赋以权重,以反映信息条目的重要程度,然后加权汇总。两种方法原理相同,可互相替代。本文基于每一项信息对于信息使用者来说均有同样的重要性的假设,采用了第一种方法。即将每条信息的权重均看作1。 披露信息可分为定性的或定量两种,如果同一项指标的定量与定性信息同时披露,就会获得比仅仅披露定性或定量信息的指标更高的加分。故自愿性信息披露指数为:VDEi(i=1,2,3)分别表示用“0-1指标评分法”得到的战略信息披露指数VDE1(28)、非财务信息披露指数VDE2(37)和财务信息披露指数VED3(48)的数值。这样,上市公司的自愿性披露指数定义为: VDE=VD/MVD。其中VD是年报中已披露的自愿性项目分值之和;MVD是年报中应最大可能披露的自愿性项目的分值之和。
2.自变量定义
由于文献中(LLEng,Mak,xxxx;Chen,Jaggi,xxxx)用净资产收益率ROE作为衡量公司当年盈利水平的变量时,均显较佳的解释力。因此,选取综合性最强、最具有代表性的衡量企业盈利能力的指标净资产收益率ROE来衡量公司的盈利水平。其计算公式为:ROE=净利润/权益总额。
(四)实证分析方法
首先,用“0-1指标评分法”计算出各公司的披露指数VDE,再建立线性回归方程,方程包括自愿性披露程度的信息披露指数(VDE),净资产收益率(ROE),回归截距和随机项。实证分析时先进行描述性统计,再用最小二乘法进行回归分析,并使用T检验和F检验来加以验证。
三、实证分析与结果探讨
(一)描述描述性统计
本研究将搜集的自愿性信息披露项目归纳到战略信息、非财务信息、财务信息三个模块中,其披露项目分别有28,37,48。用分析软件SPSS分析得到自愿性信息披露各模块的描述性统计结果如表2所示。描述性统计分析表明:整体上从表中可以看到,我国上市公司对于战略性信息的自愿披露水平在三个项目中最高,达到55%,其次是非财务信息,披露比率为49%,自愿性披露比率最低的是财务信息,为33%。而从总体的自愿性披露状况来看,我国上市公司的披露比率为1319%,最大值为39%。这说明我们上市公司的自愿性披露的水平还是很低的。净资产收益率ROE的均值为70220,最小值为-4343,最大值为3090。
表2 自愿性信息披露各模块描述性统计
N Minimum Maximum Mean Std Deviation
VDE 200 003 039 01319 005909
VDE1 200 000 055 02094 012026
VDE2 200 001 049 01114 006444
VDE3 200 000 033 01008 005474
ROE 200 -4343 3090 70220 0 4012
(二)回归统计分析
根据回归统计分析模型,选用普通最小二乘法检验了上市公司自愿性披露质量与公司盈利能力的关系,其回归结果如表3所示。由表3可知, 上市公司自愿性披露质量,总体在0001水平上具有显著性,相关系数r=0932,表明上市公司自愿性披露质量与公司盈利能力之间呈现较强的正相关性,确定系数r2 = 08686 说明自愿性披露质量约有8686%可以用盈利能力来解释。F=27360,检验值在0001水平上显著,支持了上市公司自愿性披露质量与公司盈利能力成正相关关系。t=16541检验显著,表明回归方程有效,变量之间相关关系显著,即公司的盈利能力越强,其自愿性披露的信息越多。其回归结果与假设相符。
自愿性信息披露体系的三大组成模块与公司的盈利能力的回归结果表明:战略信息披露回归方程在0001水平上, F=36810 检验值不具有显著性,但是在001水平上显著,支持了上市公司自愿性战略信息披露质量与公司盈利能力成正相关关系。非财务信息相关系数在0001水平上,F=37976具有显著性,表明上市公司自愿性披露非财务信息质量与公司盈利能力之间呈现较强的正相关性。财务信息在0001水平上,F=35581检验值不具有显著性,即使在001水平上也不具有显著性,表明上市公司自愿性财务信息披露质量与公司盈利能力没有呈现较强的正相关性。
表3 回归结果
ITEMS VDE VDE1 VDE2 VDE3
Intercept ROE Intercept ROE Intercept ROE Intercept ROE
ExpSign + + + + + + + +
Value 345 0848 3055 0506 3052 0234 3212 0242
t 7314 16541 5046 6967 5682 6162 6308 1534
Sig 0000 0000 0000 0051 0000 0000 0000 0821
F 27360 36810 37976 35581
p 0000 0063 0000 0352
r 0932 0910 0891 0778
四、博弈分析与深层研究
从博弈角度分析,可将投资者与上市公司自愿性信息披露的博弈采用不完全信息动态博弈模型。即假定有一个上市公司和具有相似的偏好和行为的投资者整体构成两个博弈方。a’和b’是上市公司和投资者的最优反应,使得他们的期望效用或收益最优化。上市公司与投资者的纯策略分别为a和b。上市公司和投资者的博奕分析为:
a值比较大 a 上市公司的诚信和道德风险比较大。 上市公司比较诚实守信,股价未被低估后表现出高披露水平的可能性很小。既然现在是高披露水平,那么上市公司极有可能知道股价被低估,故投资者在观测到高披露水平时采取高需求策略才是明智的,投资者采取合作的态度,使得双方收益。 投资者比较不成熟,投机性强。 投资者的比较成熟,上市公司知道不能指望以高披露水平来欺骗投资者,促使上市公司表现出理性。
因此,我国上市公司业绩越好,越倾向于自愿披露信息,实际上述假设是有前提的:上市公司的自信由投资者的收益、自信决定,而投资者的自信又取决于上市公司的收益,它们之间的福利是相互依存的。而“我国投资者并不关心企业的经营状况,投机行为十分明显”,(吴世农,黄志功,1997)这种投资者不成熟的现象,打击了上市公司进行更好信息披露与沟通的主动性和质量。可以看出,对于自愿性披露的信息,投资者只有具备一定的收集、理解和反应能力时才会发挥信号作用;当然若市场中充斥着虚假的信息,则效率最低。自愿性信息披露的信号得到有效传递的基础是投资者的理性和上市公司的诚信,即业绩佳的企业在自愿披露更多信息后,市场上有信息反应。因此,体现出盈利能力对于上市公司自愿性披露总体及模块质量的影响并不是很稳定,财务信息模块没有通过检验、战略信息部分体现出较弱的相关关系。
[参考文献]:
1乔旭东《上市公司年度报告自愿披露行为的实证研究》,《当代经济科学》,xxxx年第2期。
2诸葛栋,封思贤,《公司业绩与自愿性信息披露的实证研究》,《技术经济》xxxx年第7期。
3 崔雪刚,朱文明,《上市公司信息披露水平、公司特征与信息监管》,《第二届实证会计国际研讨会论文集》[A],xxxx年。
4 Improving Business Reporting:Insights into Enhancing Volutary Disclosures[R]Steering Committee Report Business Reporting ResearchProject,xxxx
5 Meek, G K,Roberts, C B, and Gray, S J Factors influencing voluntary annual report disclosures by US, UK and continental European multinational corporations Journal of International Business Studies, 1995, 555-572
6Singhvi, S, and Desai, H B An empirical analysis of the quality of corporate financial disclosure The Accounting Review, 1971, 129-138
7 Forker, J J (1992) Corporate governance and disclosure quality Accounting and Business
Research, 22 (86),111–124
一、Java编程入门类
对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要你快速的掌握Java基础语法和基本用法,宗旨就是“囫囵吞枣不求甚解”,先对Java熟悉起来再说。用很短的时间快速过一遍Java语法,连懵带猜多写写代码,要“知其然”。
1、《Java编程思想》
在有了一定的Java编程经验之后,你需要“知其所以然”了。这个时候《Java编程思想》是一本让你知其所以然的好书,它 对于基本的面向对象知识有比较清楚的交待,对Java基本语法,基本类库有比较清楚的讲解,可以帮你打一个良好的Java编程基础。这本书的缺点是实在太 厚,也比较罗嗦,不适合现代人快节奏学习,因此看这本书要懂得取舍,不是每章每节都值得一看的,挑重点的深入看就可以了。
2、《Agile Java》中文版
这本书是出版社送给我的,我一拿到就束之高阁,放在书柜一页都没有翻过,但 是前两天整理书柜的时候,拿出来一翻,竟然发现这绝对是一本好书!这本书一大特点是以单元测试和TDD来贯穿全书的,在教你Java各种重要的基础知识的 过程中,潜移默化的影响你的编程思维走向敏捷,走向TDD。另外这本书成书很新,以JDK50的语法为基础讲解,要学习JDK50的新语法也不错。还 有这本书对于内容取舍也非常得当,Java语言毕竟类库庞大,可以讲的内容太多,这本书选择的内容以及内容的多寡都很得当,可以让你以最少的时间掌握 Java最重要的知识,顺便培养出来优秀的编程思路,真是一本不可多得的好书。
虽然作者自己把这本书定位在入门级别,但我不确定这本书用来入门是不是稍微深了点,我自己也准备有空的时候翻翻这本书,学习学习。
二、Java编程进阶类
打下一个良好的Java基础,还需要更多的实践经验积累,我想没有什么捷径。有两本书值得你在编程生涯的这个阶段阅读,培养良好的编程习惯,提高你的代码质量。
1、《重构 改善既有代码的设计》
这本书名气很大,不用多介绍,可以在闲暇的时候多翻翻,多和自己的实践相互印证。这本书对产生影响是潜移默化的。
2、《测试驱动开发 by Example》
本书最大特点是很薄,看起来没有什么负担。可以找一个周末的下午,一边看,一边照做,一个下午就把书看完,这本书的所有例子跑完了。这本书的作用是通过实战让你培养TDD的思路。
三、Java架构师之路
到这个阶段,应该已经非常娴熟的运用Java编程,而且有了一个良好的编程思路和习惯了,但是可能还缺乏对应用软件整体架构的把握,现在就是迈向架构师的第一步。
1、《Expert One-on-One J2EE Design and Development》
这本书是Rod Johnson的成名著作,非常经典,从这本书中的代码诞生了springframework。但是好像这本书没有中译本。
2、《Expert One-on-One J2EE Development without EJB》
这本书由gigix组织翻译,多位业界专家参与,虽然署名译者是JavaEye,其实JavaEye出力不多,实在是忝居译者之名。
以上两本书都是Rod Johnson的经典名著,Java架构师的必读书籍。在所推荐的这些书籍当中,是看过的最仔细,最认真的书,当时读这本书几乎是废寝忘食的一气读完的, 有小时候挑灯夜读金庸武侠小说的劲头,书中所讲内容和自己的经验知识一一印证,又被无比精辟的总结出来,读完这本书以后,有种被打通经脉,功力爆增的感 觉。
但是后来看过一些其他人的评价,似乎阅读体验并没有那么high,也许是因为每个人的知识积累和经验不同导致的。那个时候刚好是经验知识积累已经足够丰富,但是还没有系统的整理成型,让这本书一梳理,立刻形成完整的知识体系了。
3、《企业应用架构模式》
Martin的又一本名著,但这本书只是泛泛的看了一遍,并没有仔细看。这本书 似乎更适合做框架的人去看,例如如果打算自己写一个ORM的话,这本书是一定要看的。但是做应用的人,不看貌似也无所谓,但是如果有空,还是推荐认真看 看,会让知道框架为什么要这样设计,这样的层次可以晋升到框架设计者的角度去思考问题。Martin的书向来都是推崇,但是从来都没有像Rod Johnson的书那样非常认真去看。
4、《敏捷软件开发原则、模式与实践》
Uncle Bob的名著,敏捷的经典名著,这本书比较特别,与其说是讲软件开发过程的书,不如说讲软件架构的书,本书用了很大篇幅讲各种面向对象软件开发的各种模式,个人以为看了这本书,就不必看GoF的《设计模式》了。
四、软件开发过程
了解软件开发过程不单纯是提高程序员个人的良好编程习惯,也是增强团队协作的基础。
1、《UML精粹》
UML其实和软件开发过程没有什么必然联系,却是软件团队协作沟通,撰写软件文档需要的工具。但是UML真正实用的图不多,看看这本书已经足够了,完全没有必要去啃《UML用户指南》之类的东西。要提醒大家的是,这本书的中译本翻译的非常之烂,建议有条件的看英文原版。
2、《解析极限编程 拥抱变化》XP
这是Kent Beck名著的第二版,中英文对照。没什么好说的,必读书籍。
3、《统一软件开发过程》UP
其实UP和敏捷并不一定冲突,UP也非常强调迭代,测试,但是UP强调的文档和过程驱动却是敏捷所不取的。不管怎么说,UP值得去读,毕竟在中国真正接受敏捷的企业很少,还是需要用UP来武装一下自己的,哪怕是披着UP的XP。
4、《敏捷建模》AM
Scott Ambler的名著,这本书非常的progmatic,告诉怎么既 敏捷又UP,把敏捷和UP统一起来了,又提出了很多progmatic的建议和做法。可以把《解析极限编程拥抱变化》、《统一软件开发过程》和《敏捷建 模》这三本书放在一起读,看XP和UP的不同点,再看AM是怎么统一XP和UP的,把这三种理论融为一炉,形成自己的理论体系,那么也可以去写书了。
五、软件项目管理
如果突然被领导提拔为项目经理,而完全没有项目管理经验,肯定会心里没底;如果觉得自己管理项目不善,很想改善项目管理能力,那么去考PMP肯定是远水不解近渴的。
1、《快速软件开发》
这也是一本名著。可以这样说,有本书在手,就有了一个项目管理的高级参谋给 你出谋划策,再也不必担心自己不能胜任的问题了。这本书不是讲管理的理论的,在实际的项目管理中,讲这些理论是不解决问题的,这本书有点类似于“软件项目 点子大全”之类的东西,列举了种种软件项目当中面临的各种问题,以及应该如何解决问题的点子,只需要稍加变通,找方抓药就行了。
六、总结
在这份推荐阅读书籍的名单中,没有列举流行的软件框架类学习书籍,例如Struts,hibernate,spring之类,也没有列举AJAX方面的书籍。是因为这类书籍容易过时,而上述的大半书籍的生命周期都足够长,值得去购买和收藏。
二Java书籍Top 10
下面是Java Inside上推荐的十本不错的Java书籍。
1)Java Language Specification, Third Edition (by James Gosling)
本书由Java技术的发明者编写,是Java TM编程语言的权威性技术指南。如果你想知道语言之构造的精确含义,本书是最好的资源。
2)Effective Java , Second Edition (by Joshua Bloch)
本书介绍了在Java编程中78条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。通过对Java平台设计专家所使用的技术的全面描述,揭示了应该做什么,不应该做什么才能产生清晰、健壮和高效的代码。
本书中的每条规则都以简短、独立的小文章形式出现,并通过例子代码加以进一步说明。本书内容全面,结构清晰,讲解详细。可作为技术人员的参考用书。…
3)Java Concurrency in Practice (by Brian Goetz)
随着多核处理器的普及,使用并发成为构建高性能应用程序的关键。Java 5以及6在开发并发程序取得了显著的进步,提高了Java虚拟机的性能,提高了并发类的可伸缩性,并加入了丰富的新并发构建块。在本书中,这些便利工具的创造者不仅解释了它们究竟如何工作、如何使用,同时,还阐释了创造它们的原因,及其背后的设计模式。 本书既能够成为读者的理论支持,又可以作为构建可靠的,可伸缩的,可维护的并发程序的技术支持。本书并不仅仅提供并发API的清单及其机制,本书还提供了设计原则,模式和思想模型,使我们能够更好地构建正确的,性能良好的并发程序。
本书的读者是那些具有一定Java编程经验的程序员、希望了解Java SE 5,6在线程技术上的改进和新特性的程序员,以及Java和并发编程的爱好者。
4)Java Puzzles: Traps, Pitfalls and Corner Cases (by Joshua Bloch)
Java教父的又一经典名著–Java Puzzlers,Amazon五星图书。认为你到底有多了解Java?你是一个代码神探吗?你是否曾经花费过数天时间去追踪一个由Java或其类库的陷阱和缺陷而导致的bug?你喜欢智力测验吗?那么这本书正好适合你!
5)Thinking in Java (by Bruce Eckel)
本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Java的基础语法到最高级特性(深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。
从本书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作。本书的作者拥有多年教学经验,对C、C++以及Java语言都有独到、深入的见解,以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念。本书共22章,包括 *** 作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深入研究、Java I/O系统、枚举类型、并发以及图形化用户界面等内容。这些丰富的内容,包含了Java语言基础语法以及高级特性,适合各个层次的Java程序员阅读,同时也是高等院校讲授面向对象程序设计语言以及Java语言的绝佳教材和参考书。
6)Better, faster, lighter Java (by Justin Gehtland, Bruce A Tate)
Java的开发者正深陷于复杂性的泥沼中而无法自拔。我们的经验和能力正接近极限,程序员为了编写支持所选框架的程序所花的时间比解决真正问题的时间要多得多。我们不禁要问,有必要把Java搞得这么复杂吗
答案是否定的。本书给你指引了一条出路。无论是维护应用程序,还是从头开始设计,你都能够超越成规,并大幅精简基本框架、开发过程和最终代码。你能重新掌握一度失控的J2EE应用程序。
在本书中,原作者Bruce A.Tate与Justin Gehtland将循序渐进、娓娓道来。首先,他们列出了五项基本法则。他们展示了如何构建简单、解耦的代码,并告诉你如何选择技术。他们还对两种被广泛运用的开源程序如何迎合这些概念进行了剖析。最后,作者还将利用这些基本概念构建一个简单但内涵丰富的应用程序来解决现实世界中所遇到的问题。
7)Core Java (vol 1, 2) (by Cay S Horstmann, Gary Cornell)
《Java核心技术》出版以来一直畅销不衰,深受读者青睐,每个新版本都尽可能快地跟上Java开发工具箱发展的步伐,而且每一版都重新改写了部分内容,以便适应Java的最新特性。本版也不例外,它反映了Java SE 6的新特性。全书共14章,包括Java基本的程序结构、对象与类、继承、接口与内部类、图形程序设计、事件处理、Swing用户界面组件、部署应用程序和Applet、异常日志断言和调试、泛型程序设计、集合以及多线程等内容。
全书对Java技术的阐述精确到位,叙述方式深入浅出,并包含大量示例,从而帮助读者充分理解Java语言以及Java类库的相关特性。
8) The Java Virtual Machine Specification (by Tim Linholm, Frank Yellin)
如果你需要了解Java虚拟机的byte code,或者是一些编译方面的东西,这本书绝对让你得偿所愿。其不但包含了机器码的规范说明,同时它也是Java编译器和运行环境的规格说明书。
9)Robust Java: Exception Handling, Testing, and Debugging (by Stephen Stelting)
处理异常涉及开发、设计和体系结构等方面的知识。本书共分3个部分。
第Ⅰ部分介绍Java异常的产生机理和用法,介绍一些最佳实践,讲述各类异常处理使用的一般API和技术。
第Ⅱ部分阐述可测试性设计,介绍故障模式分析,讨论常见API的异常及起因,分析J2EE体系结构和分布式API的异常模式。
第Ⅲ部分讨论在软件开发周期执行异常和错误处理,分析软件体系结构、设计模式、测试和调试,列举成熟的设计模式,介绍处理策略对系统体系结构的影响,讲述如何构建健壮系统。
10)Java Code Convention
最后一本当然是Java编码规范,这是由Sun公司官方出品的。这也是每个程序员为了得供程序的易读性,可维护性需要知道的。
十进制平方自守数(自同构数)定义:
如果某个数的平方的末尾极为数等于这个数,那么就称这个数为自守数。
性质一:
n位的自守数,从首位开始去除任意位,得到的仍是自守数。
性质二:
N位的自首数只有两个,一个是5的M(M=2N?)次方的末N位,即5^m mod 10^N
另一个是10^N+1减去刚才那个数,即-5^m+1 mod 10^N
在下面介绍的来自百度用户l4m2space的方法中,罗列出了500位的尾数为5的自守数。
最完美的方法之一:(来自百度用户l4m2space)
Const Dig = 1000
Function ChengFa(ByVal M As String, ByVal N As String) As String
'用于大数相乘
Dim A&(), B&(), S&()
ReDim A(Len(M)), B(Len(N)), S(Len(M) + Len(N) + 1)
M = StrReverse(M)
For I = 1 To Len(M)
A(I) = Val(Mid(M, I, 1))
Next
N = StrReverse(N)
For I = 1 To Len(N)
B(I) = Val(Mid(N, I, 1))
Next
For I = 1 To Len(M)
For J = 1 To Len(N)
S(I + J) = S(I + J) + A(I) B(J)
Next
Next
For I = 2 To Len(M) + Len(N) + 1
If S(I) > 9 Then
S(I + 1) = S(I + 1) + S(I) \ 10
S(I) = S(I) Mod 10
End If
Next
Do Until I <= 2
I = I - 1
ChengFa = ChengFa & S(I)
Loop
End Function
Private Sub Form_Load()
Dim A$, I&, T#
T = Timer
A = 5
For I = 1 To Dig
A = Right(ChengFa(A, A), Dig)
DebugPrint I
DoEvents
Next
DebugPrint A
DebugPrint Timer - T
End
End Sub
程序运行结果:66323172405515756102352543994999345608083801190741530060056055744818709692785099775918050075416428527708162011350246806058163276171676765260937528056844214486193960499834472806721906670417240094234466197812426690787535944616698508064636137166384049029219341881909581659524477861846140912878298438431703248173428886572737663146519104988029447960814673760503957196893714671801375619055462996814764263903953007319108169802938509890062166509580863811000557423423230896109004106619977392256259918212890625
程序运行参考时间:61186593749997 s
另摘录几个网上的答案,供参考。
方法一:
Private Sub Form_click()
For k = 0 To 2000
If k = CInt(Right(CStr(k ^ 2), Len(CStr(k)))) Then Print k
Next k
End Sub
方法二:
Private Sub Command1_Click()
For i = 0 To 2000
j = i i
k = i
Do While k > 0 And k Mod 10 = j Mod 10
k = k \ 10
j = j \ 10
Loop
If k = 0 Then Print i
Next i
End Sub
方法三:来自百度用户bz3zwy
注:也就是已知n为自守数,只要确定其前面再加的一个数字即可。于是可得如下算法:
Option Explicit
Const Max& = 8
Dim a#(Max), c#(Max)
Dim i&, total&, S#
Private Sub Command1_Click()
a(0) = 1
For i = 1 To Max
a(i) = a(i - 1) 10
Next
c(0) = 0
total = 0
work (1)
End Sub
Sub work(i&)
Dim j&
If i = Max Then Exit Sub
For j = 0 To 9
c(i) = a(i - 1) j + c(i - 1)
S = c(i) c(i)
If S - Int(S / a(i)) a(i) = c(i) Then
If j > 0 Then
total = total + 1
Print total; c(i); S
End If
work (i + 1)
End If
Next
End Sub
方法四:来自百度用户bz3zwy,博主称,由 仙剑魔 (福尔魔剑(HolMoJan)) 提供
[原理分析]:
假设a为n位十进制数
若a为自守数,则aa mod 10^n=a
令p=10^n,k=aa\p
则aa=kp+a
即a(a-1)=kp=k10^n
于是得出判定依据
如果a(a-1)内2,5的因子数均>=n,则a为自守数
a和a-1,一个奇数一个偶数
所以2是完全由偶数提供的
即偶数必定是2^nt的形式
刚才说了a和a-1是一奇数一偶数
2的因子全在偶数里
那么若偶数里同时有5的因子,可能吗
假设一个数字(0除外)末尾有m个0,那么他平方后末尾就会有2m个0
所以可以得出结论:偶数里没有因子5
即因子5全部在奇数里
则奇数必定是5^nr的形式
[编程者感言]
其实数学相关的题目
如果能推导出有用的信息以及结论
就能得到一些简单快速的算法
一开始只是试着算下的
直到推出这个a(a-1)=kp=k10^n式子的时候我觉得可能会有用
后来讨论出了2,5因子的情况,算法就基本成型了
其实这里用基2也能算,只要交换下i,j的累乘值
但是可以发现基5的速度快得多,省去了不少计算
[基5的测试代码]
Dim n As Long, t As Long, i As Long, j As Long, a As Long
i = 1
j = 1
Print 0
For n = 1 To 7
i = i 5
j = j 2
For t = (10 ^ (n - 1) - 1) \ i + 1 To (10 ^ n - 1) \ i
a = i t
If (a + 1) Mod j = 0 Then
Print a + 1
End If
If (a - 1) Mod j = 0 Then
Print a
End If
NextNext
以上就是关于新准则中关于自愿信息披露的内容全部的内容,包括:新准则中关于自愿信息披露的内容、有没有一些简单的java程序书籍、正整数n若是它平方数的尾部,则称n为同构数。例如,6是其平方数36的尾部,76是其平方数5776的尾部,6与76等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)