【2019牛客暑期多校训练营(第七场)】B-Irreducible Polynomial 题解(一元多次因式分解——数学问题)

31 篇文章 0 订阅
22 篇文章 0 订阅
本文介绍了一种通过暴力枚举判断一元多项式是否可因式分解的方法,特别是一元二次方程的判别公式应用。使用Python和C++实现,当多项式次数大于等于3时,根据定理必然可以因式分解;对于一元二次方程,通过判别式判断其是否有实数根来决定是否可分解。
摘要由CSDN通过智能技术生成

题目来自于:2019牛客暑期多校训练营(第七场)B-Irreducible Polynomial
原题:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
这题也是暴力,涉及到一个定理一元多次方程组n>=3时必然可以因式分解,具体我也不知道怎么证明,当时做这题查了很久找不到,还找到个求整数方法暴力枚举
这样就很简单了

简单粗暴python 3:

for _ in range(int(input())) :
    n = int(input())
    s = list(map(int, input().split()))
    if n >= 3 :
        print('No')
        continue
    if n <= 1 :
        print('Yes')
        continue
    d = s[1] * s[1] - 4 * s[0] * s[2] #一元二次判别公式
    print('Yes' if d < 0 else 'No')

闪电疾风c++:

#include <bits/stdc++.h>
 
using namespace std;
int T,n,a[25];
int main(){
    cin >> T;
    while(T--){
        cin >> n;
        for(int i = n; ~i; --i) cin >> a[i];
        if(n<=1||(n==2&&1ll*a[1]*a[1]<1ll*4*a[2]*a[0])) puts("Yes"); //一元二次判别公式
        else puts("No");
    }
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值