【发布时间】:2016-07-15 23:49:28
【问题描述】:
我正在尝试找出旧的 FizzBuzz 挑战。我弄清楚了 FizzBuzz 部分背后的逻辑(打印 Fizz 表示可被 3 整除的数字,Buzz 表示可被 5 整除的数字,FizzBuzz 表示可被两者整除的数字)。
说明:
玩家通常围成一圈。第一个玩家说出数字“1”,每个玩家依次说出下一个数字。但是,任何可被 X 整除的数字(例如,三)都将替换为 fizz 一词,任何可被 Y 整除的数字(例如,五)都将替换为 Buzz 一词。能被两者整除的数字变成了嗡嗡声。犹豫不决或犯错的玩家将被淘汰出局。 编写一个程序,打印出最终的一系列数字,其中那些能被 X、Y 整除的数字被替换为“F”代表嘶嘶声,“B”代表嗡嗡声,“FB”代表嘶嘶声。
输入样本: 你的程序应该接受一个文件作为它的第一个参数。该文件包含多个分隔行;每行包含 3 个以空格分隔的数字。第一个数字是第一个分频器(X),第二个数字是第二个分频器(Y),第三个数字是你应该数多远(N)。您可以假设输入文件的格式正确,并且数字是有效的正整数。
例如: 3 5 10 2 7 15
输出样本: 打印出系列 1 到 N 用“F”替换能被 X 整除的数字,用“B”替换能被 Y 整除的数字,用“FB”替换能被两者整除的数字。由于输入文件包含多组值,因此您的输出应每组打印出一行。确保打印的每一行中没有尾随空格。
1 2 F 4 B F 7 8 F B 1 F 3 F 5 F B F 9 F 11 F 13 FB 15
约束:
• 测试用例数≤20
• “X”在 [1, 20] 范围内
• “Y”在 [1, 20] 范围内
• “N”在 [21, 100] 范围内
我不是在找人为我做这件事,只是帮助我更好地理解我是如何阅读文本文件的。如果这是一个“愚蠢”的问题,我深表歉意。我研究了微软的开发网络页面以进行澄清,但这让我更加困惑......谢谢。
【问题讨论】:
-
从说明看来,您的程序不应从 StandardInput 读取。它应该读取命令行参数以获取文件名,然后它应该打开并读取该文件。
-
@TannerSwett 我也是这么想的。向我提供了额外的说明... // 输入将是通过命令行以 StandardInput 的方式提供的文本文件 //您需要实现 Parse 输入并将结果发送到 StandardOutput //使用任何对象结构您想使用,ParseInput 返回类型是可变的。
-
问题太宽泛了,应该拆分成:“如何从stdin读取”和“如何解决FizzBuzz”或者从stdin读取后遇到的下一个问题。
标签: c# .net visual-studio file fizzbuzz