寝癖頭の解法

学習中の覚え書きを投稿、更新していきます。

paizaラーニング: 0から9までのカウンタ(C, Python, Java)

入力値からカウンタの値を順番に10個出力する問題と、その提出コードの解答例です。
paizaラーニングのレベルアップ問題集「Dランク早解きセット」からの出典です。
paiza.jp
・問題
 0から9までを数えるカウンタを考えます。
 0 → 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 → 9
 このカウンタの拡張として、任意の数から始められるカウンタを考えました。
 2 → 3 → 4 → 5 → 6 → 7 → 8 → 9 → 0 → 1
 (2から始める例、カウンタは9まで進んだら0に戻ります)
 入力から数字nを受け取り、nからカウンタをスタートさせて、
 カウンタの値を順番に10個出力するプログラムを実装してください。

・入力される値:入力は以下のフォーマットで与えられます。
   n
 nはカウンタの最初の値
 入力値最終行の末尾に改行が1つ入ります。
 文字列は標準入力から渡されます。

・期待する出力
 nから始まるカウンタの10個の値を、順番に改行区切りで出力してください。
 (出力する値は10行からなることを期待します)

・条件
 すべてのテストケースにおいて、以下の条件をみたします。
   0 ≤ n ≤ 9

僕が作成、提出したコードは、以下のとおりです。

/*
C言語による0から9までのカウンタ
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include<stdio.h>
int main(void){
    int n;
    scanf("%d",&n);
    if(n==0){
        printf("0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n");
    }else if(n==1){
        printf("1\n2\n3\n4\n5\n6\n7\n8\n9\n0\n");
    }else if(n==2){
        printf("2\n3\n4\n5\n6\n7\n8\n9\n0\n1\n");
    }else if(n==3){
        printf("3\n4\n5\n6\n7\n8\n9\n0\n1\n2\n");
    }else if(n==4){
        printf("4\n5\n6\n7\n8\n9\n0\n1\n2\n3\n");
    }else if(n==5){
        printf("5\n6\n7\n8\n9\n0\n1\n2\n3\n4\n");
    }else if(n==6){
        printf("6\n7\n8\n9\n0\n1\n2\n3\n4\n5\n");
    }else if(n==7){
        printf("7\n8\n9\n0\n1\n2\n3\n4\n5\n6\n");
    }else if(n==8){
        printf("8\n9\n0\n1\n2\n3\n4\n5\n6\n7\n");
    }else if(n==9){
        printf("9\n0\n1\n2\n3\n4\n5\n6\n7\n8\n");
    }
    return 0;
}

Pythonのバージョンは、3.x に対応します。

#Pythonによる0から9までのカウンタ
#https://paiza.jp/works/mondai
#提出コードの解答例
#https://neguse-atama.hatenablog.com
n = int(input())
if n==0:
    print("0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n")
elif n==1:
    print("1\n2\n3\n4\n5\n6\n7\n8\n9\n0\n")
elif n==2:
    print("2\n3\n4\n5\n6\n7\n8\n9\n0\n1\n")
elif n==3:
    print("3\n4\n5\n6\n7\n8\n9\n0\n1\n2\n")
elif n==4:
    print("4\n5\n6\n7\n8\n9\n0\n1\n2\n3\n")
elif n==5:
    print("5\n6\n7\n8\n9\n0\n1\n2\n3\n4\n")
elif n==6:
    print("6\n7\n8\n9\n0\n1\n2\n3\n4\n5\n")
elif n==7:
    print("7\n8\n9\n0\n1\n2\n3\n4\n5\n6\n")
elif n==8:
    print("8\n9\n0\n1\n2\n3\n4\n5\n6\n7\n")
elif n==9:
    print("9\n0\n1\n2\n3\n4\n5\n6\n7\n8\n")
/*
Javaによる0から9までのカウンタ
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        for(int i = 0; i < 10; i++){
            if(n + i < 10){
                System.out.println(n + i);
            }else{
                System.out.println(n + i - 10);
            }
        }
    }
}

paizaラーニングのレベルアップ問題集については、ユーザー同士で解答を教え合ったり、コードを公開したりするのは自由としています。
また授業や研修、教材などにも利用できるそうです。