【自我挑战36】
求a值: 61.032778078668514759489276283115<br><br>我使用 小画家算的,不知是否 正确?<br>如果 正确的话,我再 po 想法出来<br><br> 请参考: <P></P><P>如图的分析,使用 小算盘就可以求出来<BR><BR></P> <P>作图法:</P>
<P>1. 作100x70之矩形#1<BR>2. 自#1长短边之中点作垂直线#2和#3<BR>3. 以CIRCLE(t t r) →1'st=tan#2 2'nd=tan#1之长边 r=20 →作#4圆<BR>4. 以CIRCLE(t t r) →1'st=tan#3 2'nd=tan#1之短边 r=20 →作#5圆<BR>5. 以LINE →1'st=end of #2 2'nd=end of #3 →作斜线#6<BR>6. 以OFFSET(t) →obj=#6 t=#5圆之圆心 →作偏移线#7<BR>7. 以OFFSET →obj=#4圆 d=20 →作偏移圆#8并与#7交于A<BR>8. 以CIRCLE →cen=A r=20 →作#9圆<BR>9. 以SCALE(r) →obj=红色部份 ref=矩形长边 new=100 →将图形缩放至正确尺寸 <BR></P> 做图法是很好啦,但是 根据我所知,几何做图的 解题方法太多了,<BR>应该说是 不同的题目,需要不同的 解法,好像不是很受一般人的欢迎。<BR><BR>我比较喜欢 孔老夫子说的:吾道 一以贯之。<BR>使用数值分析的方法,求解 一元二次的方程式的 方法,<BR>好像 比较方便。<BR> // file: Y12.CPP
#include <stdio.h>
#include <math.h>
// ----------------------------------------------
void main()
{
// y= a*(x^2) + b*(x) + c
double a,b,c,d, x1,y1, x2,y2;
a= 1.0;
b= 3.0;
c= 1.0;
d= b*b - 4.0*a*c;
if (d > 0.0) {// 有两个根
x1= (-b + sqrt(d))/(2.0*a);
x2= (-b - sqrt(d))/(2.0*a);
y1= a*(x1*x1) + b*(x1) + c;
y2= a*(x2*x2) + b*(x2) + c;
printf("d > 0, has 2- answers!\n");
printf("x1= %10.6lf, y1= %13.6le\n", x1, y1);
printf("x2= %10.6lf, y2= %13.6le\n", x2, y2);
}
else if (d < 0.0) {
printf("sorry! d < 0, no answer!\n");
}
else {// d == 0.0,只有一个根
x1= (-b)/(2.0*a);
y1= a*(x1*x1) + b*(x1) + c;
printf("d == 0, has 1- answers!\n");
printf("x1= %10.6lf, y1= %13.6le\n", x1, y1);
}
}// end of main()
页:
[1]