いももちのきもち

新米プログラマによる技術的メモ

はてなでシンタックスハイライトの練習

シンタックスハイライトの練習のためにいくつか過去にかいたコードを載せてみます。

ソースコードを色付けして記述する(シンタックス・ハイライト) - はてなダイアリーのヘルプ
数えたら483種類のハイライト形式に対応してますね(2016/1/5)。ハイライトも簡単でいいですね!FC○だとなんかもっと難しかった気がします。

Python 2 (Hello World):

# coding: utf-8
print "Hello World !"

Java(素数を数える):

import java.io.IOException;
import java.util.Scanner;

public class Main {
    private static void primeNumCount(int n){
        boolean array[] = new boolean[n + 1];
        for (int i = 0; i < n + 1; i++){
            if (i == 0 || i == 1){
                array[i] = false;
            }else{
                array[i] = true;
            }
        }
        int cnt = 0;
        int k = 2;
        while (k * k <= n){
            if (array[k]){
                int j = k + k;
                while (j <= n){
                    array[j] = false;
                    j += k;
                }
            k++;
            }
        }           
        for (int p = 0; p < n + 1; p++){
            if (array[p] == true){
                cnt++;
            }
        }
        System.out.println(cnt);
    }    
    
    public static void main(String[] args) throws IOException {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()){
            int n = sc.nextInt();
            primeNumCount(n);
        }
    }
}

Scala(POH7, POH7_santa.scala):

import scala.collection.mutable._
object Main{
  def main(args: Array[String]) = {
    val sc = new java.util.Scanner(System.in)
    val x, y, z, n = sc.nextInt
    val xListBuf, yListBuf = ListBuffer.empty[Int]
    xListBuf += 0
    xListBuf += x
    yListBuf += 0
    yListBuf += y
    for (i <- 1 to n){
      val d_i, a_i = sc.nextInt
      d_i match {
        case 0 => xListBuf += a_i
        case 1 => yListBuf += a_i
      }
    }
    val min_x = calcMinDif(xListBuf)
    val min_y = calcMinDif(yListBuf)
    println(min_x * min_y * z)
  }
  def calcMinDif(xListBuf: ListBuffer[Int]) : Int = {
    val xList = xListBuf.toList.sorted
    val xRanges = ListBuffer.empty[Int]
    for (i <- 1 to xList.size - 1){
      xRanges += xList(i) - xList(i-1)
    }
    val min_x = xRanges.toList.sorted.head
    min_x
  }
}