{ }codelper
文字列の反転条件分岐P0004

回文判定

英小文字からなる単語が一つ与えられる。
前から読んでも後ろから読んでも同じ(回文)なら "はい"、そうでなければ "いいえ" を出力せよ。

入力
単語の長さ 1〜100、英小文字のみ
出力
"はい" または "いいえ"
例 1 · stdin
level
stdout
はい
例 2 · stdin
code
stdout
いいえ
main.py
入力(stdin)

実行すると、これらの行が順に input()・標準入力に渡されます(実行中に入力を求めません)。

$ 準備完了

コードを入力して解くにはパソコンで開いてください。モバイルでは問題と解答を見られます。

ほかの言語では?言語別の解答を見る · 8 言語の解答

一行で反転:Python s[::-1]、Java new StringBuilder(s).reverse()、C++ string(s.rbegin(), s.rend())。
C では両端から中央へ比べるループが自然です。

Pythonmain.py · 2 行
s = input().strip()print("はい" if s == s[::-1] else "いいえ")
JavaScriptmain.js · 2 行
const s = require("fs").readFileSync(0, "utf8").trim();console.log(s === [...s].reverse().join("") ? "はい" : "いいえ");
TypeScriptmain.ts · 3 行
import { readFileSync } from "node:fs";const s: string = readFileSync(0, "utf8").trim();console.log(s === [...s].reverse().join("") ? "はい" : "いいえ");
JavaMain.java · 9 行
import java.util.Scanner; public class Main {    public static void main(String[] args) {        String s = new Scanner(System.in).next();        String r = new StringBuilder(s).reverse().toString();        System.out.println(r.equals(s) ? "はい" : "いいえ");    }}
C#Main.cs · 12 行
using System; class Program{    static void Main()    {        string s = Console.ReadLine().Trim();        char[] r = s.ToCharArray();        Array.Reverse(r);        Console.WriteLine(new string(r) == s ? "はい" : "いいえ");    }}
C++main.cpp · 8 行
#include <iostream>#include <string> int main() {    std::string s;    std::cin >> s;    std::cout << (std::string(s.rbegin(), s.rend()) == s ? "はい" : "いいえ") << '\n';}
Cmain.c · 12 行
#include <stdio.h>#include <string.h> int main(void) {    char s[101];    scanf("%100s", s);    int n = strlen(s), ok = 1;    for (int i = 0; i < n / 2; i++)        if (s[i] != s[n - 1 - i]) ok = 0;    puts(ok ? "はい" : "いいえ");    return 0;}
Craykonmain.cray · 9 行
s = コンソール.行読み();もし (s.逆に() == s){    コンソール.書く("はい");}でなければ{    コンソール.書く("いいえ");}