0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

paizaラーニングレベルアップ問題集の【ループメニュー】をやってみた。(3)

Posted at

paizaラーニングレベルアップ問題集の【ループメニュー】をやってみました。


問題
数列の反転

九九の表示1

九九の表示2

2の累乗を表示

FizzBuzz


  • 今回はreverse関数等を封印します
  • for (int i = 0; i < N; i++)i++の部分を変えることによって実装してみました(ら、if文を使わないFizzBuzzが出来ました)

C
数列の反転
#include <stdio.h>

int main() {
	int n;
	scanf("%d", &n);
	int A[n];
	for (int i = 0; i < n; i++) scanf("%d", &A[i]);
	for (int i = n - 1; i >= 0; i--) printf("%d\n", A[i]);
	return 0;
}
九九の表示1
#include <stdio.h>

int main() {
	int n = 8;
	int m = n * 9;
	for (int i = n; i <= m; i += n) {
		printf("%d", i);
		putchar(i < m ? ' ' : '\n');
	}
	return 0;
}
九九の表示2
#include <stdio.h>

int main() {
	int n;
	scanf("%d", &n);
	int m = n * 9;
	for (int i = n; i <= m; i += n) {
		printf("%d", i);
		putchar(i < m ? ' ' : '\n');
	}
	return 0;
}
2の累乗を表示
#include <stdio.h>

int main() {
	int n;
	scanf("%d", &n);
	for (int i = 2; i <= (1 << n); i *= 2) printf("%d\n", i);
	return 0;
}
FizzBuzz
#include <stdio.h>

const int N = 100;

int main() {
	char s[N + 1][9];
	for (int i = 1; i <= N; i++) sprintf(s[i], "%d", i);
	for (int i = 3; i <= N; i += 3) sprintf(s[i], "Fizz");
	for (int i = 5; i <= N; i += 5) sprintf(s[i], "Buzz");
	for (int i = 15; i <= N; i += 15) sprintf(s[i], "FizzBuzz");
	for (int i = 1; i <= N; i++) puts(s[i]);
	return 0;
}

C++
数列の反転
#include <iostream>
using namespace std;

int main() {
	int n;
	cin >> n;
	int A[n];
	for (int i = 0; i < n; i++) cin >> A[i];
	for (int i = n - 1; i >= 0; i--) cout << A[i] << endl;
	return 0;
}
九九の表示1
#include <iostream>
using namespace std;

int main() {
	int n = 8;
	int m = n * 9;
	for (int i = n; i <= m; i += m) {
		cout << i;
		if (i < m) cout << ' ';
		else cout << endl;
	}
	return 0;
}
九九の表示2
#include <iostream>
using namespace std;

int main() {
	int n;
	cin >> n;
	int m = n * 9;
	for (int i = n; i <= m; i += m) {
		cout << i;
		if (i < m) cout << ' ';
		else cout << endl;
	}
	return 0;
}
2の累乗を表示
#include <iostream>
using namespace std;

int main() {
	int n;
	cin >> n;
	for (int i = 2; i <= (1 << n); i *= 2) cout << i << endl;
	return 0;
}
FizzBuzz
#include <iostream>
using namespace std;

const int N = 100;

int main() {
	string s[N + 1];
	for (int i = 1; i <= N; i++) s[i] = to_string(i);
	for (int i = 3; i <= N; i += 3) s[i] = "Fizz";
	for (int i = 5; i <= N; i += 5) s[i] = "Buzz";
	for (int i = 15; i <= N; i += 15) s[i] = "FizzBuzz";
	for (int i = 1; i <= N; i++) cout << s[i] << endl;
	return 0;
}

C#
数列の反転
using System;

class Program
{
	public static void Main()
	{
		int n = int.Parse(Console.ReadLine());
		int[] A = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
		for (int i = n - 1; i >= 0; i--) Console.WriteLine(A[i]);
	}
}
九九の表示1
using System;

class Program
{
	public static void Main()
	{
		int n = 8;
		int m = n * 9;
		for (int i = n; i <= m; i += n)
			if (i < m) Console.Write("" + i + ' ');
			else Console.WriteLine(i);
	}
}
九九の表示2
using System;

class Program
{
	public static void Main()
	{
		int n = int.Parse(Console.ReadLine());
		int m = n * 9;
		for (int i = n; i <= m; i += n)
			if (i < m) Console.Write("" + i + " ");
			else Console.WriteLine(i);
	}
}
2の累乗を表示
using System;

class Program
{
	public static void Main()
	{
		int n = int.Parse(Console.ReadLine());
		for (int i = 2; i <= (1 << n); i *= 2) Console.WriteLine(i);
	}
}
FizzBuzz
using System;

class Program
{
	const int N = 100;
	
	public static void Main()
	{
		string[] s = new string[N + 1];
		for (int i = 1; i <= N; i++) s[i] = i.ToString();
		for (int i = 3; i <= N; i += 3) s[i] = "Fizz";
		for (int i = 5; i <= N; i += 5) s[i] = "Buzz";
		for (int i = 15; i <= N; i += 15) s[i] = "FizzBuzz";
		for (int i = 1; i <= N; i++) Console.WriteLine(s[i]);
	}
}

Go
数列の反転
package main
import "fmt"

func main() {
	var n int
	fmt.Scan(&n)
	A := make([]int, n)
	for i := 0; i < n; i++ {
		fmt.Scan(&A[i])
	}
	for i := n - 1; i >= 0; i-- {
		fmt.Println(A[i])
	}
}
九九の表示1
package main
import "fmt"

func main() {
	n := 8
	m := n * 9
	for i := n; i <= m; i += n {
		if i < m {
			fmt.Printf("%d ", i)
		} else {
			fmt.Println(i)
		}
	}
}
九九の表示2
package main
import "fmt"

func main() {
	var n int
	fmt.Scan(&n)
	m := n * 9
	for i := n; i <= m; i += n {
		if i < m {
			fmt.Printf("%d ", i)
		} else {
			fmt.Println(i)
		}
	}
}
2の累乗を表示
package main
import "fmt"

func main() {
	var n int
	fmt.Scan(&n)
	for i := 2; i <= (1 << n); i *= 2 {
		fmt.Println(i)
	}
}
FizzBuzz
package main

import (
	"fmt"
	"strconv"
)

const N = 100

func main() {
	s := []string{}
	for i := 0; i <= N; i++ {
		s = append(s, strconv.Itoa(i))
	}
	for i := 3; i <= N; i += 3 {
		s[i] = "Fizz"
	}
	for i := 5; i <= N; i += 5 {
		s[i] = "Buzz"
	}
	for i := 15; i <= N; i += 15 {
		s[i] = "FizzBuzz"
	}
	for i := 1; i <= N; i++ {
		fmt.Println(s[i])
	}
}

Java
数列の反転
import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] A = new int[n];
		for (int i = 0; i < n; i++) A[i] = sc.nextInt();
		sc.close();
		for (int i = n - 1; i >= 0; i--) System.out.println(A[i]);
	}
}
九九の表示1
public class Main {
	public static void main(String[] args) {
		int n = 8;
		int m = n * 9;
		for (int i = n; i <= m; i += n)
			if (i < m) System.out.print("" + i + ' ');
			else System.out.println(i);
	}
}
九九の表示2
import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		sc.close();
		int m = n * 9;
		for (int i = n; i <= m; i += n)
			if (i < m) System.out.print("" + i + ' ');
			else System.out.println(i);
	}
}
2の累乗を表示
import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		sc.close();
		for (int i = 2; i <= (1 << n); i *= 2) System.out.println(i);
	}
}
FizzBuzz
public class Main {

	static final int N = 100;
	
	public static void main(String[] args) {
		String[] s = new String[N + 1];
		for (int i = 1; i <= N; i++) s[i] = String.valueOf(i);
		for (int i = 3; i <= N; i += 3) s[i] = "Fizz";
		for (int i = 5; i <= N; i += 5) s[i] = "Buzz";
		for (int i = 15; i <= N; i += 15) s[i] = "FizzBuzz";
		for (int i = 1; i <= N; i++) System.out.println(s[i]);
	}
}

JavaScript
数列の反転
const [N, A] = require("fs").readFileSync("/dev/stdin", "utf8").trim().split('\n').map((s, i) => i ? s.split(' ').map(Number) : Number(s));
for (var i = N - 1; i >= 0; i--) console.log(A[i]);
九九の表示1
const n = 8;
const m = n * 9;
let s = "";
for (var i = n; i <= m; i += n) {
	s += i;
	if (i < m) s += " ";
	else console.log(s);
}
九九の表示2
const n = Number(require("fs").readFileSync("/dev/stdin", "utf8"));
const m = n * 9;
let s = "";
for (var i = n; i <= m; i += n) {
	s += i;
	if (i < m) s += " ";
	else console.log(s);
}
2の累乗を表示
const n = Number(require("fs").readFileSync("/dev/stdin", "utf8"));
for (var i = 2; i <= (1 << n); i *= 2) console.log(i);
FizzBuzz
const N = 100;
let s = []
for (var i = 0; i <= N; i++) s.push(String(i));
for (var i = 3; i <= N; i += 3) s[i] = "Fizz";
for (var i = 5; i <= N; i += 5) s[i] = "Buzz";
for (var i = 15; i <= N; i += 15) s[i] = "FizzBuzz";
for (var i = 1; i <= N; i++) console.log(s[i]);

Kotlin
数列の反転
fun main() {
	val n = readLine()!!.toInt()
	val A = readLine()!!.split(' ').map { it.toInt() }
	for (i in n - 1 downTo 0) println(A[i])
}
九九の表示1
fun main() {
	val n = 8
	val m = n * 9
	for (i in n..m step n) {
		if (i < m) print("" + i + ' ')
		else println(i)
	}
}
九九の表示2
fun main() {
	val n = readLine()!!.toInt()
	val m = n * 9
	for (i in n..m step n) {
		if (i < m) print("" + i + ' ')
		else println(i)
	}
}
2の累乗を表示
fun main() {
	val n = readLine()!!.toInt()
	var i = 2
	while (i <= (1 shl n)) {
		println(i)
		i *= 2
	}
}
FizzBuzz
fun main() {
	val N = 100
	val s = Array(N + 1){ "" }
	for (i in 1..N) s[i] = i.toString()
	for (i in 3..N step 3) s[i] = "Fizz"
	for (i in 5..N step 5) s[i] = "Buzz"
	for (i in 15..N step 15) s[i] = "FizzBuzz"
	for (i in 1..N) println(s[i])
}

PHP
数列の反転
<?php
	$n = intval(fgets(STDIN));
	$A = array_map("intval", explode(' ', fgets(STDIN)));
	for ($i = $n - 1; $i >= 0; $i--) echo $A[$i], PHP_EOL;
?>
九九の表示1
<?php
	$n = 8;
	$m = $n * 9;
	for ($i = $n; $i <= $m; $i += $n) echo $i, $i < $m ? ' ' : PHP_EOL;
?>
九九の表示2
<?php
	$n = intval(fgets(STDIN));
	$m = $n * 9;
	for ($i = $n; $i <= $m; $i += $n) echo $i, $i < $m ? ' ' : PHP_EOL;
?>
2の累乗を表示
<?php
	$n = intval(fgets(STDIN));
	for ($i = 2; $i <= (1 << $n); $i *= 2) echo $i, PHP_EOL;
?>
FizzBuzz
<?php
	const N = 100;
	$s = [];
	for ($i = 0; $i <= N; $i++) $s[] = strval($i);
	for ($i = 3; $i <= N; $i += 3) $s[$i] = "Fizz";
	for ($i = 5; $i <= N; $i += 5) $s[$i] = "Buzz";
	for ($i = 15; $i <= N; $i += 15) $s[$i] = "FizzBuzz";
	for ($i = 1; $i <= N; $i++) echo $s[$i], PHP_EOL;
?>

Perl
数列の反転
my $n = int(<STDIN>);
my @A = map { int($_) } split ' ', <STDIN>;
for (my $i = $n - 1; $i >= 0; $i--) {
	print "$A[$i]$/";
}
九九の表示1
my $n = 8;
my $m = $n * 9;
for (my $i = $n; $i <= $m; $i += $n) {
	print $i, $i < $m ? ' ' : $/;
}
九九の表示2
my $n = int(<STDIN>);
my $m = $n * 9;
for (my $i = $n; $i <= $m; $i += $n) {
	print $i, $i < $m ? ' ' : $/;
}
2の累乗を表示
my $n = int(<STDIN>);
for (my $i = 2; $i <= (1 << $n); $i *= 2) {
	print "$i$/";
}
FizzBuzz
my $N = 100;
my @s;
for (my $i = 0; $i <= $N; $i++) {
	push @s, "$i";
}
for (my $i = 3; $i <= $N; $i += 3) {
	$s[$i] = "Fizz";
}
for (my $i = 5; $i <= $N; $i += 5) {
	$s[$i] = "Buzz";
}
for (my $i = 15; $i <= $N; $i += 15) {
	$s[$i] = "FizzBuzz";
}
for (my $i = 1; $i <= $N; $i++) {
	print "$s[$i]$/";
}

Python3
数列の反転
n = int(input())
A = list(map(int, input().split()))
for i in range(n - 1, -1, -1):
	print(A[i])
九九の表示1
N = 8
M = N * 9
for i in range(N, M + 1, N):
	print(i, end=' ' if i < M else '\n')
九九の表示2
n = int(input())
m = n * 9
for i in range(n, m + 1, n):
	print(i, end=' ' if i < m else '\n')
2の累乗を表示
n = int(input())
i = 2
while i <= (1 << n):
	print(i)
	i *= 2
FizzBuzz
N = 100
S = []
for i in range(N + 1):
	S.append(str(i))
for i in range(3, N + 1, 3):
	S[i] = "Fizz"
for i in range(5, N + 1, 5):
	S[i] = "Buzz"
for i in range(15, N + 1, 15):
	S[i] = "FizzBuzz"
for i in range(1, N + 1):
	print(S[i])

Ruby
数列の反転
N = gets.to_i
A = gets.split.map(&:to_i)
(N-1).downto(0) do |i|
	p A[i]
end
九九の表示1
N = 8
M = N * 9
(N..M).step(N) do |i|
	if i < M
		print i, ' '
	else
		p i
	end
end
九九の表示2
N = gets.to_i
M = N * 9
(N..M).step(N) do |i|
	if i < M
		print i, ' '
	else
		p i
	end
end
2の累乗を表示
N = gets.to_i
i = 2
while i <= (1 << N)
	p i
	i *= 2
end
FizzBuzz
N = 100
s = []
(0..N).each do |i|
	s << i.to_s
end
(3..N).step(3) do |i|
	s[i] = "Fizz"
end
(5..N).step(5) do |i|
	s[i] = "Buzz"
end
(15..N).step(15) do |i|
	s[i] = "FizzBuzz"
end
(1..N).each do |i|
	puts s[i]
end

Scala
数列の反転
import scala.io.StdIn._

object Main extends App{
	val n = readInt()
	val A = readLine().split(' ').map { _.toInt }
	for (i <- n-1 to 0 by -1) println(A(i))
}
九九の表示1
object Main extends App{
	val n = 8
	val m = n * 9
	for (i <- n to m by n) {
		if (i < m) print("" + i + ' ')
		else println(i)
	}
}
九九の表示2
import scala.io.StdIn._

object Main extends App{
	val n = readInt()
	val m = n * 9
	for (i <- n to m by n) {
		if (i < m) print("" + i + ' ')
		else println(i)
	}
}
2の累乗を表示
import scala.io.StdIn._

object Main extends App{
	val n = readInt()
	var i = 2
	while (i <= (1 << n)) {
		println(i)
		i *= 2
	}
}
FizzBuzz
object Main extends App{
	val N = 100
	val s = new Array[String](N + 1)
	for (i <- 1 to N) s(i) = i.toString
	for (i <- 3 to N by 3) s(i) = "Fizz"
	for (i <- 5 to N by 5) s(i) = "Buzz"
	for (i <- 15 to N by 15) s(i) = "FizzBuzz"
	for (i <- 1 to N) println(s(i))
}

Swift
数列の反転
let n = Int(readLine()!)!
let A = readLine()!.split(separator: " ").compactMap { Int($0) }
for i in stride(from: n - 1, through: 0, by: -1) {
	print(A[i])
}
九九の表示1
let n = 8
let m = n * 9
for i in stride(from: n, through: m, by: n) {
	print(i, terminator: i < m ? " " : "\n")
}
九九の表示2
let n = Int(readLine()!)!
let m = n * 9
for i in stride(from: n, through: m, by: n) {
	print(i, terminator: i < m ? " " : "\n")
}
2の累乗を表示
let n = Int(readLine()!)!
var i = 2
while i <= (1 << n) {
	print(i)
	i *= 2
}
FizzBuzz
let N = 100
var s = Array<String>()
for i in 0...N {
	s.append(String(i))
}
for i in stride(from: 3, through: N, by: 3) {
	s[i] = "Fizz"
}
for i in stride(from: 5, through: N, by: 5) {
	s[i] = "Buzz"
}
for i in stride(from: 15, through: N, by: 15) {
	s[i] = "FizzBuzz"
}
for i in 1...N {
	print(s[i])
}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?