《开源框架那点事儿33》极限挑战:用一条循环语句正确输出99表!【前两名奖图书一本】

问题的由来

  话说我这里有个小萝莉非要拜我为师。呵呵,对于程序媛我一向——嗯嗯认为程序不如人好看,再加上该名萝莉大学还没毕业。术语都多半没有听过,于是就想着拒绝,当时嘴一贱,就说了一句:你用一个For循环做个99表出来。

  当然,这个对于小萝莉们来说,已经足够形成挑战了,可是对于群里的一众大佬们来说,自然是不在话下,3下5除二就搞定了。我又异想天开一下。假设不用推断语句。是不是也完毕呢?粗想想是能够的,于是动手摆了几行代码。确实能够。

于是就不断加码。不断添加新的完毕条件,于是就形成了以下的问题。挑战极限这个定语,有一定的博眼球的意思。实际上不是那么难了。

注意:

  此题是考思想的,用“*”之外的运算符。如 "&  |  ^  >> << / % "的,尽管确实能够有解,可是代码逻辑与我倡导的:"一个好的算法首先是简单易懂的。其次是清晰明了的。再个一定是充满美感的"是相违背的。为什么以下条件这么多,实在是亲们的创意无限,我防不胜防哦。

活动规则:

1. n能够是随意正整数,仅仅要N的平方不要溢出都能够

2. 一行一行print结果的无效

3. 不同意出现if,switch,?:语句及推断语句的变体,也就是仅仅同意循环变量做条件比較以确定循环次数。不同意其

4. 它变量进行条件推断

5. 不同意出现异常

6. 循环语句中仅仅能有一个变量

7. 代码行数超过100行的无效

8. 特别提示:提交问题并在CSDN关注本人。回答才有效

9. 答案是否有效解释权归本人全部

问题例如以下

  无论是什么编程语言。最好是Java。仅仅要是在程序中仅仅用了一条循环语句正确的输出了99表,那么就算挑战成功。

  以下是我的測试用例:

測试1:

public static void main(String[] args) {

new Test99().print(9);

}

执行结果:

1

2 4

3 6 9

4 8 12 16

5 10 15 20 25

6 12 18 24 30 36

7 14 21 28 35 42 49

8 16 24 32 40 48 56 64

9 18 27 36 45 54 63 72 81

測试2:

public static void main(String[] args) {

new Test99().print(5);

}

执行结果

1

2 4

3 6 9

4 8 12 16

5 10 15 20 25

第一个、第二个回答正确的人将获得奖励,以抢先的时间为准。

特别提示:凡是有两个for循环的,有 if有?:的。有Switch的所有Out!

答案请提交到:http://bbs.tinygroup.org/thread-1487-1-1.html

时间: 2024-08-28 23:53:01

《开源框架那点事儿33》极限挑战:用一条循环语句正确输出99表!【前两名奖图书一本】的相关文章

《开源框架那点事儿11》:软件开发杂谈

杂谈之中的一个:技术仅仅是成功的一点点基础条件.真正还是得靠做人 话说,有位lianzi同学.水平不错.思想超前,签约阿里如今在百度实习,曾经由于喷我的贴又没有啥理由,因此告诉他离我远一点.可是近期他又回到我群里了.一直伸个大拇指,我说啥他都是大拇指,认为怪怪的.总不是那么个感觉,最终憋了一段时间,又恢复了正常的沟通方式,聊天实录: [传说]杭州-悠然 18:31:13 lianzi本色最终出来了. [传说]杭州-悠然 18:31:30 我学得这样才是你自己.你天天伸个大拇指.我都认为不像你了.

《开源框架那点事儿25》:对框架模板引擎实现方式的改造实录

点滴悟透设计思想,Tiny模板引擎优化实录! 增加框架设计兴趣小组:http://bbs.tinygroup.org/group-113-1.html Tiny模板引擎的实现方式原来是採用的编译方式,近期发生了一些问题.因此我认为有必要把编译方式调整为解释方式,为此就開始了此次实现活动. 编译方式存在的问题 当时採用编译方式.主要是考虑到编译方式在执行时不必再去遍历语法树.因此就採用了编译方式. 可是在实际应用其中,出现了例如以下问题: 文件路径冲突的问题 因为採用的是编译方式,这个时候就存在在

《开源框架那点事儿18》:为什么要先从测试用例编写和文档编写开始?

有一个同学,问我一个问题:加入Tiny是否必须从写单元测试用例和文档作起? 此问题引发我诸多感触,故形成乱弹一篇. 作为一个新加入者,多看.少说,是正点.而这个时候,写写测试用例.文档,就是个不错的选择.这样入手比较容易,也比较容易体现水平. 可以说好的程序员,测试和文档都是写得好的.测试和文档一定写不好的,一定不是好的程序员. 同时,在看代码,写测试用例.写文档的过程中,还可以这样思考: 他为什么要这么设计?换成我,我会怎么设计?然后有相当一部分,会转化成:哦,原来是这个样子的!这个时候你进步

《开源框架那点事儿23》:采用TinyDB组件方式开发

采用TinyDB组件方式开发 步骤 Icon 前文介绍四则运算的流程编程开发时,说过流程编排在开发重复功能时,可以利用已有的组件库快速开发.对于开发人员而言只需要简单配置流程就可以完成工作了. 开发增删改查的组件接口.本来这部分很花费时间,如果采用组件复用的话,就可以实现一次开发,终生受益. 配置curd.beans.xml和tinydb.xml. 使用流程编辑器定制组件流程curd.pageflow. 修改页面文件:list.page和operate.page,使之符合流程方式调用. 修改布局

《开源框架那点事儿17》:与屈原对话及开源精神

竹子与开源:扎根是为了长得更高 端午节到了,人们都在讨论屈原不屈不挠的精神,以及龙舟.粽叶等世界文化遗产.粽叶清淡,给人无限的遐想.或者,你很容易想起和粽叶形状比较类似的竹叶,以及屹立挺拔的骨感竹子.竹在清风中瑟瑟的声音,在夜月下疏朗的影子,都让文人墨客深深感动.而竹于风霜凌厉中苍翠依然的品格,更让诗人引为同道.苏东坡曾在<于潜僧绿筠轩>里宣称,"宁可食无肉,不可居无竹.无肉令人瘦,无竹令人俗.人瘦尚可肥,士俗不可医."当年郑板桥曾作<竹石>,细细品味,也给人许

《开源框架那点事儿20》:自己动手写前端框架

曾经发表过一篇文章:TinyAdmin前端展现框架.其在线演示路径为:http://www.tinygroup.org/tinyadmin/.应该说有很多人还是感觉兴趣的,可是因为这个是基于SmartAdmin框架改写的,尽管我们自己买了SmartAdmin的授权,可是广大用户假设要用的时候,就会有授权相关的问题,这会大大影响一些人的使用决策--尤其是会再发行的朋友. 再一个原因是SmartAdmin初看不是不错的.可是实际用起来.里面的问题比較多.对IE8基本上能够说是不兼容,尽管我们努力进行

开源框架那点事儿25》:对框架模板引擎实现方式的改造实录

点滴悟透设计思想,Tiny模板引擎优化实录! Tiny模板引擎的实现方式原来是采用的编译方式,最近发生了一些问题,因此我觉得有必要把编译方式调整为解释方式,为此就开始了此次实现活动. 编译方式存在的问题 当时采用编译方式,主要是考虑到编译方式在运行时不必再去遍历语法树,因此就采用了编译方式.但是在实际应用当中,出现了如下问题: 文件路径冲突的问题 由于采用的是编译方式,这个时候就存在在一个选择,即:Java源代码落地或不落地的选择.如果Java文件不落地,则在有问题的时候,如果想要进行代码调试(

《开源框架那点事儿20》:发布TinyUI前端框架

以前发表过一篇文章:TinyAdmin前端展现框架,其在线演示路径为:http://www.tinygroup.org/tinyadmin/,应该说有许多人还是感觉兴趣的,但是由于这个是基于SmartAdmin框架改写的,虽然我们自己买了SmartAdmin的授权,但是广大用户如果要用的时候,就会有授权相关的问题,这会大大影响一些人的使用决策--尤其是会再发行的朋友. 再一个原因是SmartAdmin初看不是不错的,但是实际用起来,里面的问题比较多,对IE8基本上可以说是不兼容,虽然我们努力进行

《开源框架那点事儿19》:特斯拉建“桩”与开源的生命力

在美国的硅谷,在中国的中关村,许多的技术先驱者怀揣梦想,用激情不懈地追求着他们宏远的目标和巨大的个人财富.开源,正在成为这个时代目前最火热的名词之一.开源精神,作为一种合作协同的驱动力,正在发展为一种更具竞争力的产品开发模式. 我们可以从几个典型故事说起. 一.特斯拉建“桩” 2014年5月份,苹果与三星的专利侵权案做出判决,三星向苹果赔偿约1.2亿美元,巨头公司们再次向世人展示“专利”两字的份量可以重若泰山.然而,时隔一个月后,特斯拉电动车宣布开放其所有专利,仿佛要告诉人们,其实“专利”两字可