雅克比算法 JAVA實現

	/** jacobi (a/b) **/
	public long Jacobi(long a, long b) {
		if (b <= 0 || b % 2 == 0)
			return 0;
		long j = 1L;
		if (a < 0) {
			a = -a;
			if (b % 4 == 3)
				j = -j;
		}
		while (a != 0) {
			while (a % 2 == 0) {
				a /= 2;
				if (b % 8 == 3 || b % 8 == 5)
					j = -j;
			}

			long temp = a;
			a = b;
			b = temp;

			if (a % 4 == 3 && b % 4 == 3)
				j = -j;
			a %= b;
		}
		if (b == 1)
			return j;
		return 0;
	}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章