news 2026/8/19 12:49:57

CSP-J 2023一元二次方程 题解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CSP-J 2023一元二次方程 题解

题目解析

这道题对于学生来说很无语:什么时候接一个方程都那么复杂了?
给定整数系数a,b,c(a!=0)的一元二次方程ax^2+bx+c=0,判别式小于 0 输出NO。判别式大于等于 0 时输出两个实根中较大根,严格按照题目有理数、根式化简格式输出。

思路拆分

  1. 先计算判别式delta = b^2-4ac,如果delta<0直接输出 NO;如果delta=0只有重根,按最简分数输出。
  2. delta>0,如果delta是完全平方数,根是有理数,取较大根约分后按分数格式输出。
  3. delta不是完全平方数,把根拆成q1+q2\sqrt®,对根号内部做平方因子化简,再按复杂根式输出规则格式化打印。

AC代码

#include<bits/stdc++.h>usingnamespacestd;usingll=longlong;//输出最简分数 p/q,保证分母>0voidfs(ll p,ll q){if(p==0){cout<<"0";return;}if(q<0){q=-q;p=-p;}ll g=__gcd(abs(p),abs(q));p/=g;q/=g;if(q==1)cout<<p;elsecout<<p<<"/"<<q;}//对n,分解出最大平方因子,返回 {k , r} n = k*k * r,r无平方因子pair<ll,ll>gh(ll n){ll k=1;for(ll i=2;i*i<=n;i++){while(n%(i*i)==0){k*=i;n/=i*i;}}return{k,n};}//输出 q2*sqrt(r) 这一部分,q2 = k / denvoidgen(ll k,ll r,ll den){// q2 = k / denll g=__gcd(k,abs(den));ll c=k/g;ll d=abs(den)/g;if(c==1){if(d==1)cout<<"sqrt("<<r<<")";elsecout<<"sqrt("<<r<<")/"<<d;}else{if(d==1)cout<<c<<"*sqrt("<<r<<")";elsecout<<c<<"*sqrt("<<r<<")/"<<d;}}intmain(){ios::sync_with_stdio(false);cin.tie(nullptr);intt,m;cin>>t>>m;while(t--){ll a,b,c;cin>>a>>b>>c;ll delta=b*b-4*a*c;if(delta<0){cout<<"NO\n";continue;}ll numer_q1=-b;ll den=2*a;if(delta==0){fs(numer_q1,den);cout<<"\n";continue;}ll sq=sqrtl(delta);if(sq*sq==delta){//有理数根 (-b + sqrtΔ) / (2a)fs(numer_q1+sq,den);cout<<"\n";}else{//拆 q1 + q2√r// q1 = (-b)/(2a)// q2√r = sqrtΔ/(2a) = k*sqrt(r)/denauto[k,r]=gh(delta);if(numer_q1!=0){fs(numer_q1,den);cout<<"+";}gen(k,r,den);cout<<"\n";}}return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/19 12:48:12

比亚迪开放平台战略:从DiLink到智能汽车生态的构建与挑战

1. 从“闭门造车”到“开门造生态”&#xff1a;比亚迪开放战略的深层逻辑 最近&#xff0c;比亚迪董事长王传福在公开场合再次强调了“汽车一定要开放”的观点&#xff0c;并透露比亚迪正致力于创建一个“完全开放、高度智能”的平台。这句话听起来像是一句宏大的战略口号&…

作者头像 李华
网站建设 2026/8/19 12:45:41

C语言零基础入门:Visual Studio安装配置与首个程序运行指南

在实际学习 C 语言编程时&#xff0c;第一步往往不是写代码&#xff0c;而是搭建一个稳定、可用的开发环境。很多初学者满怀热情地开始&#xff0c;却在安装和配置 Visual Studio 这一步就遇到了各种报错、路径问题或功能缺失&#xff0c;导致学习进程卡在起点。Visual Studio …

作者头像 李华
网站建设 2026/8/19 12:41:16

分层服务器架构:构建可协作AI智能体驱动的自动化科研平台

1. 项目概述&#xff1a;当科学实验遇上“智能体”最近几年&#xff0c;AI领域最让我兴奋的&#xff0c;已经从“大模型能回答什么问题”转向了“大模型能自主完成什么任务”。特别是在科研领域&#xff0c;我们开始谈论一个概念&#xff1a;Agentic Science&#xff08;智能体…

作者头像 李华
网站建设 2026/8/19 12:39:41

打通ERP、MES、WMS:制造业系统集成的“四层架构“实战指南

打通ERP、MES、WMS&#xff1a;制造业系统集成的"四层架构"实战指南系统越建越多&#xff0c;数据越睡越沉——超过70%的制造企业正在经历数据孤岛带来的效率瓶颈。老王是某大型制造企业的IT总监&#xff0c;最近被老板问了一个"简单"的问题&#xff1a;为…

作者头像 李华