首页 > 其他分享 >2023CSP-J 普及组第二轮试题及解析( 第三题一元二次方程)

2023CSP-J 普及组第二轮试题及解析( 第三题一元二次方程)

时间:2024-09-24 21:19:43浏览次数:11  
标签:2023CSP return 试题 int scanf d% det 一元二次方程 gcd

参考程序代码:

#include<bits/stdc++.h>
using namespace std;
int t,m,a,b,c;
int aa,bb,gd1,gd2;
int gcd(int a,int b)
{
	if(a %b ==0)return b;
	return gcd(b,a %b);
}
int main()
{
	scanf("%d%d",&t,&m);
	while(t--)
	{
		scanf("%d%d%d",&a,&b,&c);
		int det =b*b-4*a*c;
		if(det <0)
		{
			printf("NO\n");
			continue;
		}
		int ans1 =1;
		for(int i=2;i*i <=det;i++)
		{
			while(det %(i*i)==0)
			ans1 *=i,det /=i*i;
		}
		aa =2 *a;
		bb =-b;
		if(aa <0)
		aa =-aa,bb=-bb;
		if(det ==1)det =0,bb +=ans1;
		gd1 = gcd(abs(bb),aa);
		gd2 = gcd(ans1,aa);
		if(det ==0)
		{
			if(bb %aa ==0) printf("%d",bb /aa);
			else 	printf("%d/%d",bb /gd1,aa /gd1);
		}
		else
		{	
			if(bb !=0)
			{
				if(bb %aa ==0) printf("%d",bb /aa);
				else  printf("%d/%d",bb /gd1,aa /gd1);
      			printf("+");
			}
			if(ans1 /gd2 !=1) printf("%d*",ans1 /gd2);
  			printf("sqrt(%d)",det);
			if(aa /gd2 !=1)	printf("/%d",aa /gd2);
		}
		printf("\n");
	}
	return 0;
}

参考程序考试文件提交代码:

#include<bits/stdc++.h>
using namespace std;
int t,m,a,b,c;
int aa,bb,gd1,gd2;
int gcd(int a,int b)
{
	if(a %b ==0)return b;
	return gcd(b,a %b);
}
int main()
{
    //打开输入文件,输出文件
	freopen("uqe.in","r",stdin);
	freopen("uqe.out","w",stdout);
	scanf("%d%d",&t,&m);
	while(t--)
	{
		scanf("%d%d%d",&a,&b,&c);
		int det =b*b-4*a*c;
		if(det <0)
		{
			printf("NO\n");
			continue;
		}
		int ans1 =1;
		for(int i=2;i*i <=det;i++)
		{
			while(det %(i*i)==0)
			ans1 *=i,det /=i*i;
		}
		aa =2 *a;
		bb =-b;
		if(aa <0)
		aa =-aa,bb=-bb;
		if(det ==1) det =0,bb +=ans1;
		gd1 = gcd(abs(bb),aa);
		gd2 = gcd(ans1,aa);
		if(det ==0)
		{
			if(bb %aa ==0) printf("%d",bb /aa);
			else 	printf("%d/%d",bb /gd1,aa /gd1);
		}
		else
		{	
			if(bb !=0)
			{
				if(bb %aa ==0) printf("%d",bb /aa);
				else  printf("%d/%d",bb /gd1,aa /gd1);
      			printf("+");
			}
			if(ans1 /gd2 !=1) printf("%d*",ans1 /gd2);
  			printf("sqrt(%d)",det);
			if(aa /gd2 !=1)	printf("/%d",aa /gd2);
		}
		printf("\n");
	}
	//关闭输入文件输出文件
	fclose(stdin);
	fclose(stdout);	
	return 0;
}

标签:2023CSP,return,试题,int,scanf,d%,det,一元二次方程,gcd
From: https://blog.csdn.net/weixin_60445850/article/details/142458866

相关文章

  • 超详细的系列总结!大模型岗面试题(含答案)来了!(大语音模型基础篇二)
    前言大模型应该是目前当之无愧的最有影响力的AI技术,它正在革新各个行业,包括自然语言处理、机器翻译、内容创作和客户服务等,正成为未来商业环境的重要组成部分。截至目前大模型已超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关岗位和面试也开始越来越卷......
  • AI大模型大厂面经——LoRA面试题最全总结
    前言大家的显卡都比较吃紧,LoRA家族越来越壮大,基于LoRA出现了各种各样的改进,最近比较火的一个改进版是dora,听大家反馈口碑也不错。基于PEFT的话用409024G显存也可以进行大模型的微调,所以LoRA家族这块还是很有研究和实际落地的潜力。LoRA整个系列分为两个部分:1、LoRA总述2、LoRA家族......
  • 2025秋招LLM大模型多模态面试题(八)- langchain完整面试题
    目录什么是LangChainLangChain包含哪些核心模块模型输入/输出(ModelI/O)组件管理数据处理链式组合记忆与上下文管理外部集成一些核心概念什么是LangChainAgent?什么是LangChainmodel?LangChain包含哪些特点?LangChain如何使用?LangChain如何调用......
  • Android Wear 开发 (一),阿里、腾讯、华为、京东等多家大厂最新安卓面试题
    importandroid.support.v4.app.NotificationCompat.WearableExtender;普通通知栏手机:普通的通知栏在手机上的效果应该都不陌生,这里就不展开说明手表:手表端的效果是由2张卡片构成的,第一张是手机通知栏的信息组成,第二张是点击开发手机应用,具体的效果与手机通知栏的点击事......
  • Vue 2&3进阶面试题:(第五天)
    目录17.keep-alive18.$router和$route的区别19.vue-router路由模式有几种?20.vue的路由传参param和query的区别17.keep-alivekeep-alive是Vue的内置组件,当它包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。keep-alive是一个抽象组件:它自身不会渲染成一个DO......
  • MySQL 增删操作面试题
    在数据库操作中,数据的增删是最基础也是最常见的操作。MySQL作为流行的关系型数据库,增删操作在面试中经常涉及。本文准备了30道关于MySQL增删操作的面试题,按照简单、中等、困难的难度划分,并提供了详细的答案和对应的SQL语句。通过这些问题,可以深入理解MySQL在实际应用中的增删操作。......
  • 2024最新版Java面试题及答案汇总
    1.对字符串的都有哪些方法?详细说明下。具体有String、StringBuffer和StringBuilder这三个类。String是不可变类,每次操作都会生成新的String对象,并将结果指针指向新的对象,由此会产生内存碎片。如果要频繁对字符串修改,建议采用StringBuffer和StringBuilder。StringBuff......
  • 2024Java核心面试题合集
    1.保证并发安全的三大特性? 原子性:一次或多次操作在执行期间不被其他线程影响可见性:当一个线程在工作内存修改了变量,其他线程能立刻知道有序性:JVM对指令的优化会让指令执行顺序改变,有序性是禁止指令重排2.volatile保证变量的可见性和有序性,不保证原子性。使用了volatile......
  • 2024年全新Java面试题整理
    1、多线程的价值?(1)发挥多核CPU的优势多线程,可以真正发挥出多核CPU的优势来,达到充分利用CPU的目的,采用多线程的方式去同时完成几件事情而不互相干扰。(2)防止阻塞从程序运行效率的角度来看,单核CPU不但不会发挥出多线程的优势,反而会因为在单核CPU上运行多线程导致线......
  • python面试题
    python是什么?Python是一种开放原始码、直译式、可携式、面向对象的程序语言,具有模块、多线程、异常处理以及自动内存管理功能。广泛应用包括Web开发(如Django和Flask框架)、数据科学(如Pandas和NumPy库)、机器学习(如TensorFlow和PyTorch框架)、自动化脚本、科学计算等。算法是什么?......