>>393
#include <stdio.h>
#include <math.h>

int main(int argc, char *argv[])
{
    double t = 0, dt = 0.00001;
    double grad, dotgrad = 0, ddotgrad = 0, odotgrad;
    double gravity = 9.8, len = 0.25;

    if (argc < 2 || sscanf(argv[1], "%lf", &grad) < 1) {
        printf("Usage: %s 開始角度(°)\n", argv[0]);
        return 0;
    }
    grad *= M_PI / 180.0;
    printf("角度 %3.0lf", grad / M_PI * 180);

    while (1) {
        ddotgrad = (-gravity / len * sin(grad));
        odotgrad = dotgrad;
        dotgrad += dt * ddotgrad;
        grad += dt * dotgrad;
        t += dt;

        if (dotgrad <= 0 && odotgrad > 0)
            break;
    }
    printf(" 周期 %3.3lf\n", t);
    return 0;
}