欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

C语言学习笔记-各项为正整数的一元二次方程的十字交叉法因式分解

发布时间:2023/12/18 编程问答 49 豆豆
生活随笔 收集整理的这篇文章主要介绍了 C语言学习笔记-各项为正整数的一元二次方程的十字交叉法因式分解 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

最近看考研数学,想用C写一个简单的小程序来解决数学问题,这次就从最简单的十字交叉法分解开始吧

先上代码

#include<stdio.h> #include<math.h> int main() {int number;//二次项系数 int m_number;//一次项系数 int c_number;//常数项 int c_one;//保存常数项分解的第一个因子 int c_two;//保留常数项分解的第二个因子 int factor_one;//保留二次项系数分解的第一个因子 int factor_two;//保留二次项系数分解的第二个 因子 scanf("%d",&number);scanf("%d",&m_number);scanf("%d",&c_number);for(int i=1;i<=sqrt(number);i++){if(number%i==0){factor_one=i;factor_two=number/i;printf("-------%d Can be divide into %d and %d\n",number,factor_one,factor_two);{for(int j=1;j<=sqrt(c_number);j++){if(c_number%j==0){c_one=j;c_two=c_number/j;printf("---%d Can divide be into %d and %d\n",c_number,c_one,c_two);if(factor_one*c_one+factor_two*c_two==m_number)printf("可分解为(%dX+%d)*(%dX+%d)\n",factor_one,c_two,factor_two,c_one);else if(factor_one*c_two+factor_two*c_one==m_number)printf("可分解为(%dX+%d)*(%dX+%d)\n",factor_one,c_one,factor_two,c_two);elseprintf("无法分解\n");}}}}}return 0; }
只适用于各项系数为正整数的情况,有时间我把负数的情况也加上去。到时候用函数重写一遍,这里的循环套循环实在显得有点乱。

总结

以上是生活随笔为你收集整理的C语言学习笔记-各项为正整数的一元二次方程的十字交叉法因式分解的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。