�v���O���~���O�̕��@

���̔c��

�v���O����������ɂ‚��čl����Ƃ��A ��Ԃ��\������ЂƂ‚ЂƂ‚̒l�����ł͂Ȃ��A ���̏�ԂŐ�����������������ł���B

���1 2�� x �� y �̍ő�l�� m �ɋ��߂�B

  1. ���s�O�̏��
    (x = X) and (y = Y)
  2. ���s��̏��
    (x = X) and (y = Y) and ((m = X) and (X >= Y) or (m = Y) and (Y >= X)

���2 n�‚̐� x1,x2,...,xn �̍ő�l �� m �ɋ��߂�B

m = max(x1,x2,...,xn)�͈ȉ��̏������Ɠ������B
(m = max(x2,x3,...,xn)) and (m>=x1) or
(m = x1) and (m >= max(x2,x3,...,xn))
�����
x1 = max(x1)
������A�v���O������(?)�ɏ����ƁA
int max(int n,int x1,int x2,...,int xn) {
    int m;
    if (n == 1) m = x1;
    else {
        m = max(n-1,x2,x3,...,xn);
        if (x1 > m) m = x1;
    }
    return(m);
}

��̃v���O�������s�̎��ۂ̌o�߂������ƁA

m = xn;
if (xn-1 > m) m = xn-1;
...
if (x1 > m) m = x1;
�ƂȂ�B�J��Ԃ����g���΁A
m = x[n]; i=n-1;
while (i > 0) {
    if (x[i] > m) m = x[i]
    i--;
}
�����ł́Awhile���[�v�̒��̍ŏ��̎��_�ŁAm �ɂ� ����ȑO�̍ő�l�������Ă���A�‚܂�
m = max(xi+1,xi+2,...,xn)
�ł��� ���Ƃ𗘗p���Ă���B ���̂悤�ȁA�������s�̈��̏ꏊ�ŏ�ɐ��藧���� ��������̂��Ƃ����[�v�s�Ϗ���(loop invariant condition) �܂��̓��[�v�s�ϗ�(loop invariant)�ƌĂԁB
  1. ���藧�‚ׂ����[�v�s�ϗʂ��ɍl���A����𗊂�ɔ����������� ���ƂŃv���O���~���O��e�Ղɂ���B
  2. ���[�v�s�ϗʂ́A���𐳊m�ɒ莮�����邱�ƂŁA���̂��ƌ���� ����B�i���Ɖ�@�̋��n�����j

�����ڋߖ@

���𒼐ڌv�Z�ŋ��߂��Ȃ��ꍇ�ɁA�ߎ�������͂��߂Đ^�̉��֐ڋ߂����� �������@�B

��� �Q�̕����������߂�B

�܂��A���� 1�����傫��2�������������Ƃ���A1.1����n�߂�0.1�����݂� �Q����v�Z����B �ȏ���A���� 1.4���傫��1.5��菬�������Ƃ��킩��B �����ŁA1.41����n�߂�0.01�����݂łQ����v�Z����B

... and so on ...

�����ڋߖ@�̉���

���͈̔͂̍i�荞�݂��A���䋉���I�Ȃ��̂ɉ��ǂ���B

�� ���񂵂��z��̒T���B���`�T��(linear search) ���Q���T��(binary search) �̕��������ɂȂ�B

��Q �������̌v�Z

f(x+d) = f(x) + f'(x)*d + ...

���g���B f(x) = x2 - 2 �ŁAf(x)=0 �̍������߂邱�ƂɂȂ�̂ŁA ���̉��� a �Ƃ��āA
0 = f(a)+f'(a)*d
�� d �ɂ‚��ĉ����΁A f(a+d) �� 0 �ɋ߂��Ȃ�B
���ꂪ 0 �łȂ���΁Aa = a+d �������A �ēx d �����߂�B������J��Ԃ��B
���m�� f(a+d) = 0 �ƂȂ�܂� �J��Ԃ��̂łȂ��A������x�̌덷�ȓ��ɓ�������v�Z��ł��؂�悤�� ����B�łȂ��ƁA�v�Z���I�����Ȃ����Ƃ����肤��B