読者です 読者をやめる 読者になる 読者になる

猫尾製作所

あまりアテにしないでね

居住民です

どうも、はてなダイアリーより移住してまいりました。

テストも兼ねて、最初の記事を書きます。

数式

 \displaystyle \zeta(2) = \lim_{n \to \infty} \sum_{k = 1}^{n} \frac{1}{k^2} = \frac{\pi^2}{6} = 1.6449340668 \cdots

 \int_{- \infty}^{\infty} \exp(-t^2) {\mathrm d}t = \sqrt{\pi}

数式はこんなふうに出力されますね。mimetexよりはかなりきれいなかたちで出てくれます。

コード(プログラミング)

/*
  練習2 : 素数判定
*/

import java.io.*;
import java.util.*;

public class test2
{
	public static void main(String[] args)
	{
		// 引数の数が 1 つ未満である場合
		// C で argc に相当するのは Java では args.length
		if (args.length < 1){
			System.out.println("引数を1つ入力してください。");
			System.exit(1);
		}
		
		// C で atoi に相当するメソッドは Integer.parseInt,
		//		atol に相当するメソッドは Long.parseLong
		long n = Long.parseLong(args[0]);
		
		// n は自然数
		if (n < 1){
			System.out.println("自然数を入力してください。");
			System.exit(1);
		}
		
		if(isprime(n))
			System.out.println(n + "は素数です。");
		else
			System.out.println(n + "は素数ではありません。(最小因数 = " + minfactor(n) + ")");
		
		System.exit(0);
	}
	
	public static long minfactor(long n)
	{
		long i = 0;
		int j = 1;
		long m;
		long[] a = {1, 7, 11, 13, 17, 19, 23, 29};
		
		if (n % 2 == 0) return(2);
		if (n % 3 == 0) return(3);
		if (n % 5 == 0) return(5);
		
		m = 7;
		while ((m * m) <= n){
			if (n % m == 0) return(m);
			
			j++;
			if (j == 8){ j = 0; i++; }
			m = 30 * i + a[j];
		}
		
		return(n);
	}
	
	public static boolean isprime(long n)
	{
		if (minfactor(n) == n && n >= 2) // 1 を素数と返してしまうのでこれを防止する
			return(true); // 最小因数が n であれば素数
		else
			return(false);
	}
}

はてなダイアリーでは言語に応じてキーワードなどの色が変わったのですが、はてなブログには実装されていないようです。

とりあえずはテストです。