掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
つぶれるボール (ID:71789)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
別に VC++ 特化な質問限定でなくてもいいと思う。以前にもいっぱいあったし。 せっかく作ったので上げておく。手抜きいっぱいだけど。 #include <stdio.h> #include <stdlib.h> #include <math.h> #define ball_width 100.0 #define ball_count 6 double calc_total_width(double pressure) { double ball=ball_width*pressure; double total_width=0; int i; for (i=0; i<ball_count; ++i) { total_width+=ball; ball*=pressure; } return total_width; } double binary_search(double min, double max, double (*func)(double), double target) { double center; double e; do { center=(min+max)/2.0; e=func(center)-target; if (e<0) min=center; else max=center; } while (fabs(e)>0.01); return center; } int main(int argc, char* argv[]) { double target_width=strtod(argv[1], 0); printf("%g\n", binary_search(0.0, 1.0, &calc_total_width, target_width)); return 0; }
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.