回 帖 发 新 帖 刷新版面

主题:[讨论]一道数学题……哪位大虾帮个忙

已知方程 x2 - 6x - 4n2 - 32n = 0 的根都是整数,求整数n的值
 就这个题目
 请问用C该怎么编啊??
 耽误大虾几分钟编好后发到我邮箱  28031397@qq.com
 万分感谢!~~~

回复列表 (共2个回复)

沙发

从题目中,直接利用公式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或为负数的时候也有合适的值,只是编写程序的时候麻烦一点而已

板凳

#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);

}

我来回复

您尚未登录,请登录后再回复。点此登录或注册