警告:我不是要更好的代码,我是要为 HackerRank 提供更短的代码,只是为了了解可以做些什么来缩短它。
我是 Java 新手,正在尝试这个 FizzBuzz 问题:
编写一个程序,打印从 1 到 100 的数字。但是对于 3 的倍数打印 >“Fizz”而不是数字,对于 5 的倍数打印“Buzz”。对于 > 是三和五的倍数的数字,打印“FizzBuzz”。
我尽可能短地写了我的解决方案。
class Solution{
public static void main(String[]b){
for(int i=1;i<101;i++){
String a=(i%3==0)?(i%5==0)?"FizzBuzz":"Fizz":(i%5==0)?"Buzz":i+"";
System.out.println(a);}}}
Run Code Online (Sandbox Code Playgroud)
我得了 3.6 分。但显然还有改进的空间,因为有些人写的少了 27 个字符。这怎么可能?有什么建议?我真的不在乎排名,我只是想知道我错过了什么。
编辑:所以在你的帮助下,我做到了:
class Solution{public static void main(String[]b){for(int i=1;i<101;i++){System.out.println((i%3==0)?(i%5==0)?"FizzBuzz":"Fizz":(i%5==0)?"Buzz":i);}}}
Run Code Online (Sandbox Code Playgroud)
似乎我摆脱了 14 个字符。天知道其他人做了什么,又失去了 13 个角色。不管怎样,谢谢。
我正在尝试使用while循环来编写Fizz Buzz脚本,以循环显示数字,1-100并将echo每个数字循环到屏幕.
我正在使用模数运算符来查找数字是否为以下数字的倍数:
我已经编写了下面的代码,测试了它的所有部分,它似乎工作,但是当我运行脚本时,它会陷入无限循环,回显Fizz.
$i = 1;
while ($i <= 100) {
if ((3 % $i) === 0) {
echo 'Fizz';
$i = $i++;
} else if ((5 % $i) === 0) {
$i = $i++;
echo 'Buzz';
} else if ( ((3 % $i) === 0) && ((5 % $i) === 0)){
echo 'FizzBuzz';
} else {
echo $i++;
}
}
Run Code Online (Sandbox Code Playgroud)
有什么想法我错了吗?
我正在尝试在 Assembly 中编写 FizzBuzz,但我一直看到分段错误。到目前为止,我已经确定这不是我的打印例程(因为我已经删除了它们的内容并且问题仍然存在)并且错误隐藏在主函数中的某个位置。
当我运行程序时,我得到了这个输出:
fizzSegmentation fault
Run Code Online (Sandbox Code Playgroud)
让我相信这不是使用除法和查找余数的问题。但我可能是错的,我已经两年没有做过汇编了......
SECTION .data
global _start
fizz: db "fizz", 4
buzz: db "buzz", 4
SECTION .bss
counter: resb 1
SECTION .text
_start:
mov ax,0
mov [counter],ax
main_loop:
cmp ax,100 ;from 0 to 100
je exit ;
mov bl,3 ;divisor
mov ah,0 ;here will be a remainder
div bl ;divide
cmp ah,0 ;compare the remainder with 0
je print_fizz ;print fizz if they equal
mov bl,5 ;new divisor
mov ah,0 ;do I have to do …Run Code Online (Sandbox Code Playgroud) 我当时在求职面试中,被要求用PHP解决FizzBuzz。
编写一个程序,打印从1到100的数字。但是,对于三个打印数字“ Fizz”(而不是数字)的倍数,以及五个打印“嗡嗡声”的倍数。对于三和五的倍数的数字,请打印“ FizzBuzz”。
我以前从未听说过FizzBuzz,但以下是我的解决方法:
for ($i = 1; $i <= 100; $i++){
if($i / 3 == round($i / 3) && $i / 5 == round($i / 5)){
echo $i . " is FizzBuzz<br />";
}
else if($i / 3 == round($i / 3)){
echo $i . " is Fizz<br />";
}
else if($i / 5 == round($i / 5)){
echo $i . " is Buzz<br />";
}
else {
echo $i."<br />";
}
}
Run Code Online (Sandbox Code Playgroud)
我用谷歌搜索,没有找到任何解决方案,这让我想到也许是有问题的,这是我发现的最接近我的解决方案之一:
for ($i = 1; …Run Code Online (Sandbox Code Playgroud) 这是我的代码:
fn main() {
fn fizz_buzz<'a>(i: i32) -> &'a str {
if i % 15 == 0 {
"FizzBuzz"
} else if i % 5 == 0 {
"Buzz"
} else if i % 3 == 0 {
"Fizz"
} else {
&i.to_string()
}
}
for i in 1..101 {
println!("{}" , fizz_buzz(i));
}
}
Run Code Online (Sandbox Code Playgroud)
编译器给我这个错误:
error[E0515]: cannot return reference to temporary value
--> src/main.rs:11:9
|
11 | &i.to_string()
| ^-------------
| ||
| |temporary value created here
| returns …Run Code Online (Sandbox Code Playgroud) 我有以下方法,我想对其进行单元测试.可以对方法签名进行更改:
public void PrintNumber()
{
Enumerable.Range(1, 100).ToList().ForEach(x =>
{
if (x % 3 == 0 && x % 5 == 0)
Console.WriteLine("[35]");
else if (x % 3 == 0)
Console.WriteLine("[3]");
else if (x % 5 == 0)
Console.WriteLine("[5]");
else
Console.WriteLine(x.ToString());
});
}
Run Code Online (Sandbox Code Playgroud)
我有自己的解决方案,但我想知道我的版本是否最好.
谢谢!
这是一个问题.有人能找到答案吗?
允许最多两个"if"测试!
Given numbers from 1 to 100
If this number is divisble by 21 print "foobar"
If this number is divisble by 7 print "bar"
If this number is divisble by 3 print "foo"
If none of the above, print the number
Run Code Online (Sandbox Code Playgroud)
只打印一个数字.例如,数字21应该只打印"foobar",而不是所有"foobar","bar","foo".
可以用任何语言完成.
非常感谢.
我已经在Python中提出了这个问题:
从用户处获取一个数字列表,然后在该列表中运行FizzBuzz.
循环浏览列表时,请记住以下规则:
1)如果数字可以被3和5打印整除 FizzBuzz
2)如果它只能被3个打印整除 Fizz
3)如果它只能被5个打印整除 Buzz
4)否则只需打印数字
还记得elif!
我创建了以下脚本,但它在if上给出了一个错误 n%3=True
n=input()
if n%3=True:
print("Fizz")
else if n%5=True:
print ("Buzz")
elif print n
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?非常感谢你!
我试图看看我是否可以制作一个fizzbuzz c ++ switch语句.我收到一个错误,说我在const表达式中不可用.这是否意味着我无法使这件事发挥作用?还是有工作吗?这是我的代码.
#include <iostream>
using namespace std;
int main() {
for(int = 1; 1 <= 100; i++){
switch(true){
case(i % 3 == 0 & i % 5 == 0):
cout << "fizzbuzz" << endl;
break;
case(i % 3 == 0):
cout << "fizz" << endl;
break;
case(i % 5 == 0):
cout << "fizz" << endl;
break;
default:
cout << i << endl;
}
}
}
Run Code Online (Sandbox Code Playgroud)