paizaラーニングレベルアップ問題集の九九表をやってみました。
問題
配列添字は0
から始まりますので、二次元配列の要素A[i][j]
には(i+1)*(j-1)
が格納されます。
C
#include <stdio.h>
const int N = 9;
int main() {
int A[N][N];
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
A[i][j] = (i + 1) * (j + 1);
}
}
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
if (j) putchar(' ');
printf("%d", A[i][j]);
}
puts("");
}
return 0;
}
C++
#include <iostream>
#include <vector>
using namespace std;
const int N = 9;
int main() {
vector<vector<int>> A(N, vector<int>(N));
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
A[i][j] = (i + 1) * (j + 1);
}
}
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
if (j) cout << ' ';
cout << A[i][j];
}
cout << endl;
}
return 0;
}
C#
using System;
using System.Linq;
class Program
{
const int N = 9;
public static void Main()
{
int[][] A = Enumerable.Range(1, N).Select(i => Enumerable.Range(1, N).Select(j => i * j).ToArray()).ToArray();
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
if (j > 0) Console.Write(' ');
Console.Write(A[i][j]);
}
Console.WriteLine();
}
}
}
Go
package main
import "fmt"
var N = 9
func main() {
A := make([][]int, N)
for i := 0; i < N; i++ {
A[i] = make([]int, N)
for j := 0; j < N; j++ {
A[i][j] = (i + 1) * (j + 1)
}
}
for i := 0; i < N; i++ {
for j := 0; j < N; j++ {
if j > 0 {
fmt.Print(" ")
}
fmt.Print(A[i][j])
}
fmt.Println()
}
}
Java
import java.util.*;
import java.util.stream.IntStream;
public class Main {
static final int N = 9;
public static void main(String[] args) {
int[][] A = IntStream.rangeClosed(1, N).mapToObj(i -> IntStream.rangeClosed(1, N).map(j -> i * j).toArray()).toArray(int[][]::new);
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
if (j > 0) System.out.print(' ');
System.out.print(A[i][j]);
}
System.out.println();
}
}
}
JavaScript
const N = 9;
const A = Array(N).fill().map((_, i)=>Array(N).fill().map((_, j)=>(i + 1) * (j + 1)));
A.forEach(a => console.log(a.join(' ')));
Kotlin
fun main() {
val N = 9
val A = Array(N) { i -> Array(N) { j -> (i + 1) * (j + 1) } }
for (i in 0 until N) {
for (j in 0 until N) {
if (j > 0) print(' ')
print(A[i][j])
}
println()
}
}
PHP
<?php
$N = 9;
$A = [];
for ($i = 1; $i <= $N; $i++) {
$tmp = [];
for ($j = 1; $j <= $N; $j++) {
$tmp[] = $i * $j;
}
$A[] = $tmp;
}
for ($i = 0; $i < $N; $i++) {
for ($j = 0; $j < $N; $j++) {
if ($j) echo ' ';
echo $A[$i][$j];
}
echo PHP_EOL;
}
?>
Perl
my $N = 9;
my @A;
for $i (1..$N) {
my @tmp;
for $j (1..$N) {
push (@tmp, $i * $j);
}
push @A, [@tmp];
}
for (my $i = 0; $i < $N; $i++) {
for (my $j = 0; $j < $N; $j++) {
if ($j) {
print ' ';
}
print $A[$i][$j];
}
print $/;
}
Python3
N = 9
A = [[i * j for j in range(1, N+1)] for i in range(1, N+1)]
for i in range(N):
print(' '.join(list(map(str, A[i]))))
Ruby
N = 9
A = (1..N).each.map { |i| (1..N).each.map { |j| i * j } }
N.times do |i|
N.times do |j|
if j > 0
print ' '
end
print A[i][j]
end
puts
end
Scala
import scala.io.StdIn._
object Main extends App{
val N = 9
val A = (1 to N).map { i => (1 to N).map { j => i * j } }
for (i <- 0 until N) {
for (j <- 0 until N) {
if (j > 0) print(' ')
print(A(i)(j))
}
println()
}
}
Swift
let N = 9
let A = (1...N).map { i in (1...N).map { j in i * j } }
for i in 0..<N {
print(A[i].map { String($0) }.joined(separator: " "))
}