C言語による基本的な数値計算と特殊数の探索

1. BMI(体格指数)の計算

BMIは体重(kg)を身長(m)の2乗で割った値で、健康状態の指標として広く使われます。

入力: 体重(kg)と身長(cm)をスペース区切りで1行に入力
出力: BMI値を小数点以下2桁まで表示

#include <stdio.h>

int main() {
    int weight, height_cm;
    scanf("%d %d", &weight, &height_cm);
    double height_m = height_cm / 100.0;
    double bmi = weight / (height_m * height_m);
    printf("%.2f\n", bmi);
    return 0;
}

2. 三角形の周長と面積の算出

与えられた3辺の長さから、三角形の周長とヘロンの公式による面積を計算します。

入力: 3つの辺の長さ(整数、スペース区切り)
出力: 周長と面積(ともに小数点以下2桁)を指定フォーマットで出力

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

int main() {
    int a, b, c;
    scanf("%d %d %d", &a, &b, &c);
    double perimeter = a + b + c;
    double s = perimeter / 2.0;
    double area = sqrt(s * (s - a) * (s - b) * (s - c));
    printf("circumference=%.2f area=%.2f\n", perimeter, area);
    return 0;
}

3. 球の体積の計算

半径から球の体積を計算します。πには3.1415926を使用し、体積は小数点以下3桁で出力します。

入力: 半径(浮動小数点数)
出力: 体積(小数点以下3桁)

#include <stdio.h>

int main() {
    double radius;
    const double PI = 3.1415926;
    scanf("%lf", &radius);
    double volume = (4.0 / 3.0) * PI * radius * radius * radius;
    printf("%.3f\n", volume);
    return 0;
}

4. 成績データのフォーマット出力

3つの整数形式の成績を読み込み、指定された文字列形式で出力します。

入力: 3つの成績(0~100の整数、スペース区切り)
出力: score1=xx,score2=xx,score3=xx の形式

#include <stdio.h>

int main() {
    int s1, s2, s3;
    scanf("%d %d %d", &s1, &s2, &s3);
    printf("score1=%d,score2=%d,score3=%d\n", s1, s2, s3);
    return 0;
}

5. 5桁のLily Number(変種ナルシスト数)の列挙

Lily Numberとは、その数を任意の位置で2つに分割し、すべての分割パターンにおける左右の数値の積の総和が元の数に等しくなる数です。5桁の範囲で該当する数をすべて出力します。

入力: なし
出力: 見つかったLily Numberをスペース区切りで1行に出力

#include <stdio.h>

int main() {
    for (int num = 10000; num < 100000; num++) {
        int total = 0;
        for (int div = 10; div <= 10000; div *= 10) {
            total += (num / div) * (num % div);
        }
        if (total == num) {
            printf("%d ", num);
        }
    }
    return 0;
}

タグ: C math Algorithms numerical-computation

6月28日 00:30 投稿