- 41 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 13:25:31 ]
- >>20
とりあえず a<b ならそれなりの解が出るソースコード 解法plz #include<stdio.h> #include<stdlib.h> #include<math.h> int pattern1(double a, double b, double c){ int x, y; y=(a-2*c)/(sqrt(3.)*c)+1; x=b/(2*c); return x*y-y/2; } int pattern2(double a, double b, double c){ int x, y; y=a/(2*c); x=b/(2*c); return x*y; } int main(int argc, char *argv[]){ double a=20., b=30., c=3.; int num, maximum; switch(argc){ case 4: c=atof(argv[3]); case 3: b=atof(argv[2]); case 2: a=atof(argv[1]); } maximum=pattern1(a, b, c); num=pattern2(a, b, c); if(num>maximum) maximum=num; printf("円の数:%d 使用率:%.3f%%\n", maximum, (c*c*M_PI*maximum)/(a*b)*100); return 0; }
|

|