主题:[讨论]一道数学题……哪位大虾帮个忙
jojomax
[专家分:0] 发布于 2007-08-31 14:54:00
已知方程 x2 - 6x - 4n2 - 32n = 0 的根都是整数,求整数n的值
就这个题目
请问用C该怎么编啊??
耽误大虾几分钟编好后发到我邮箱 28031397@qq.com
万分感谢!~~~
回复列表 (共2个回复)
沙发
dyh915 [专家分:0] 发布于 2007-09-04 20:36:00
从题目中,直接利用公式X1 = (-b+sqr(b2-4ac))/2
可以得到X1 = 3+sqr(4n2+32n+9)
所以只要是4n2+32n+9能够开方后是整数就满足条件
#include "math.h"
main()
{
int n, i, k;
for(n=0;n<=1000;n++)
{
k=n*(n*4+32)+9;
i=sqrt(k);
if(k==i*i)
{
printf("\n%d is a proper num.", n);
}
}
}
其实在当n大于1000或为负数的时候也有合适的值,只是编写程序的时候麻烦一点而已
板凳
firerat [专家分:110] 发布于 2008-08-17 15:07:00
#include "stdio.h"
#include "math.h"
int main(void)
{
int x,i,n1=0,n2=0,m;
m=9-16*(x*x+6*x);
printf("请输入X:");
scanf("%d",x);
if(m>=0)
{n1=(sqrt(m)-3)/8;
n2=(-sqrt(m)-3)/8;}
else printf("%d",m);
printf("n1=%d\n",n1);
printf("n2=%d\n",n2);
}
我来回复