Menu
CoddyTech

图案查找器

本课属于 Coddy Ruby 学习旅程的“基础知识”单元。第 87 课,共 88 课。

challenge icon

挑战

简单

从输入中读取一个字符串,并找出构成整个字符串的最短重复模式。

有效的模式必须满足以下条件:

  • 其长度可以整除字符串的总长度
  • 重复适当的次数后,能准确还原原始字符串

如果字符串由重复模式组成,就打印最短的模式。如果不存在重复模式,就打印原始字符串。

要检查模式是否有效,你可以使用字符串乘法:pattern * count 会通过重复模式来创建一个新字符串。

例如,如果输入是 abcabcabc,输出应为:

abc

如果输入是 xyxyxyxy,输出应为:

xy

如果输入是 aaaa,输出应为:

a

如果输入是 hello,输出应为:

hello

如果输入是 abcdef,输出应为:

abcdef

亲手试试

# 读取输入的字符串
s = gets.chomp

# TODO: 在下面编写你的代码
# 找出能组成整个字符串的最短重复模式
# 提示:检查能整除字符串长度的模式长度
# 用字符串乘法(pattern * count)验证模式是否可行

result = s  # 用你的答案替换这里

# 输出结果
puts result

基础知识中的所有课

自己练习: Ruby 在线编译器