我最近向一位从事工作经验的学生推荐了一篇有关将乘法表转储到控制台的文章。它使用嵌套的 for 循环并将每个循环的步长值相乘。
这看起来像是 .NET 2.0 方法。我想知道,使用 Linq 和扩展方法,例如,需要多少行代码才能达到相同的结果。
stackoverflow 社区能够应对挑战吗?
挑战:
在控制台应用程序中,编写代码来生成一个表,如下例所示:
01 02 03 04 05 06 07 08 09
02 04 06 08 10 12 14 16 18
03 06 09 12 15 18 21 24 27
04 08 12 16 20 24 28 32 36
05 10 15 20 25 30 35 40 45
06 12 18 24 30 36 42 48 54
07 14 21 28 35 42 49 56 63
08 16 24 32 40 48 56 64 72
09 18 27 36 45 54 63 72 81
由于这变成了一场与语言无关的代码高尔夫之战,我将与社区一起决定哪个是公认答案的最佳解决方案。
关于表格的规范和格式已经有很多讨论,我故意添加了 00 格式,但双换行符最初只是在那里,因为我不知道在创建帖子时如何格式化文本!
J http://www.jsoftware.com- 8 个字符 - 24 个字符的正确格式
*/~1+i.9
Gives:
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
@earl 找到了这个解决方案:
'r(0)q( )3.'8!:2*/~1+i.9
Gives:
01 02 03 04 05 06 07 08 09
02 04 06 08 10 12 14 16 18
03 06 09 12 15 18 21 24 27
04 08 12 16 20 24 28 32 36
05 10 15 20 25 30 35 40 45
06 12 18 24 30 36 42 48 54
07 14 21 28 35 42 49 56 63
08 16 24 32 40 48 56 64 72
09 18 27 36 45 54 63 72 81
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)