【c++数学】解一元一次方程

news2024/12/19 21:48:44

注意:没有合并多项式的功能,且未知数必须只在左边,右边是常数!!!

好用记得点赞!

代码如下:

#include<iostream>
#include<stdio.h>

using namespace std;

string q,f;double a,b,c;bool bsz=0;

/*string addSame(string ba){
	for(int i=0;i<int(ba.length());i++)
		if(ba[i]>='a'&&ba[i]<='z')
			ba[i]='x';
	if(ba[0]!='-')ba=string("+")+ba;
	string side,nba=ba;
	for(int i=0;i<int(nba.length());i++){
		if(nba[i]=='-'||nba[i]=='+'){
			side+=string(1,nba[i]);
		}
		if(nba[i]=='-'){
			nba[i]='+';
		}
	}
	string vs[side.length()];
	int df=-1;
	for(int i=0;i<int(nba.length());i++){
		if(nba[i]=='+'){
			df++;
		}else{
			vs[df]+=string(1,nba[i]);
		}
	}
	double xnum=0,cnum=0;double j;
	for(int i=0;i<int(side.length());i++){
		if(vs[i][vs[i].length()-1]=='x'){
			sscanf(vs[i].data(),"%lfx",&j);
			xnum+=j;
		}else{
			sscanf(vs[i].data(),"%lf",&j);
			cnum+=j;
		}
	}
	char cstr[64];
	sprintf(cstr,"%c%lfx%c%lf",(xnum>=0?'+':0),xnum,(cnum>=0?'+':0),cnum);
	return string(cstr);
}*/

string getS(string &str){
	string ret="";
	if(str[0]=='+'){
		str[0]=' ';
	}else if(str[0]=='-'){
		str[0]=' ';
		bsz=1;
	}
	for(int i=0;i<int(str.length());i++){
		if(str[i]=='+'||str[i]=='-'){
			ret+=string(1,str[i]);
		}else if(str[i]=='='){
			return ret;
		}else if(str[i]>='a'&&str[i]<='z'){
			ret+=string(1,'x');
			str[i]='x';
		}
	}
	throw "can not know";
}

void getD(string str){
	if(str=="x+"){
		sscanf(q.data(),"%lfx+%lf=%lf",&a,&b,&c);
		if(bsz)a=-a;
	}else if(str=="+x"){
		sscanf(q.data(),"%lf+%lfx=%lf",&b,&a,&c);
		if(bsz)b=-b;
	}else if(str=="x"){
		if(q[0]=='x'){
			sscanf(q.data(),"x=%lf",&c);
			a=1;b=0;
			if(bsz)a=-a;
			return;
		}
		sscanf(q.data(),"%lfx=%lf",&a,&c);
		b=0;
		if(bsz)a=-a;
	}else if(str=="x-"){
		sscanf(q.data(),"%lfx-%lf=%lf",&a,&b,&c);
		b=-b;
		if(bsz)a=-a;
	}else if(str=="-x"){
		sscanf(q.data(),"%lf-%lfx=%lf",&b,&a,&c);
		a=-a;
		if(bsz)b=-b;
	}
}

double know(double a,double b,double c){
	return (c-b)/a;
}

/*double solution(string bk){
	string bs="",es="";bool isnis=1;
	for(int i=0;i<int(bk.length());i++){
		if(bk[i]=='='){
			isnis=0;
		}
		if(isnis){
			bs+=string(1,bk[i]);
		}else{
			es+=string(1,bk[i]);
		}
	}
	bs=addSame(bs);
	bk=bs+es;
	getD(getS(bk));
	return -know(a,b,c);
}*/
double solution(string bk){
	getD(getS(bk));
	return know(a,b,c);
}

char getnk(string bf){
	char r=0;
	for(int i=0;i<int(bf.length());i++){
		if(bf[i]>='a'&&bf[i]<='z'){
			r=bf[i];
			break;
		}
	}
	return r;
}

int main(){
	cin>>q;
	cout<<getnk(q)<<'='<<solution(q);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2262376.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

校园点餐订餐外卖跑腿Java源码

简介&#xff1a; 一个非常实用的校园外卖系统&#xff0c;基于 SpringBoot 和 Vue 的开发。这一系统源于黑马的外卖案例项目 经过站长的进一步改进和优化&#xff0c;提供了更丰富的功能和更高的可用性。 这个项目的架构设计非常有趣。虽然它采用了SpringBoot和Vue的组合&am…

Linux文件属性 --- 硬链接、所有者、所属组

三、硬链接数 1.目录 使用“ll”命令查看&#xff0c;在文件权限的后面有一列数字&#xff0c;这是文件的硬链接数。 对于目录&#xff0c;硬链接的数量是它具有的直接子目录的数量加上其父目录和自身。 下图的“qwe”目录就是“abc”目录的直接子目录。 2.文件 对于文件可…

Centos7 部署ZLMediakit

1、拉取代码 #国内用户推荐从同步镜像网站gitee下载 git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit cd ZLMediaKit #千万不要忘记执行这句命令 git submodule update --init 2、安装编译器 sudo yum -y install gcc 3、安装cmake sudo yum -y install cmake 4…

无管理员权限 LCU auth-token、port 获取(全网首发 go)

一&#xff1a; 提要&#xff1a; 参考项目&#xff1a; https://github.com/Zzaphkiel/Seraphine 想做一个 lol 查战绩的软件&#xff0c;并且满足自己的需求&#xff08;把混子和大爹都表示出来&#xff09;&#xff0c;做的第一步就是获取 lcu token &#xff0c;网上清一色…

《云原生安全攻防》-- K8s安全框架:认证、鉴权与准入控制

从本节课程开始&#xff0c;我们将来介绍K8s安全框架&#xff0c;这是保障K8s集群安全比较关键的安全机制。接下来&#xff0c;让我们一起来探索K8s安全框架的运行机制。 在这个课程中&#xff0c;我们将学习以下内容&#xff1a; K8s安全框架&#xff1a;由认证、鉴权和准入控…

spring\strust\springboot\isp前后端那些事儿

后端 一. 插入\更新一条数据&#xff08;老&#xff09; Map<String, Object> parameterMap MybatisUtil.initParameterSave("Send_ProjectFrozenLog", sendProjectFrozenLog); commonMapper.insert(parameterMap);parameterMap MybatisUtil.initParameter…

UE5安装Fab插件

今天才知道原来Fab也有类似Quixel Bridge的插件&#xff0c;于是立马就安装上了&#xff0c;这里分享一下安装方法 在Epic客户端 - 库 - Fab Library 搜索 Fab 即可安装Fab插件 然后重启引擎&#xff0c;在插件面板勾选即可 然后在窗口这就有了 引擎左下角也会多出一个Fab图标…

对于使用exe4j打包,出现“NoClassDefFoundError: BOOT-INF/classes”的解决方案

jar使用exe4j打包exe&#xff0c;出现NoClassDefFoundError: BOOT-INF/classes 注意选取的jar包是使用build&#xff0c;而不是maven中的install 本文介绍解决这个方法的方案 点击Project Structure 按照如图所示选择 选择main class&#xff0c;选择你要打的main 如果遇到/M…

文件上传之文件内容检测

一.基本概念 介绍&#xff1a;文件内容检测就是检测上传的文件里的内容。 文件幻数检测 通常情况下&#xff0c;通过判断前10个字节&#xff0c;基本就能判断出一个文件的真实类型。 文件加载检测 一般是调用API或函数对文件进行加载测试。常见的是图像渲染测试&#xff0c;再…

WebSpoon9.0(KETTLE的WEB版本)编译 + tomcatdocker部署 + 远程调试教程

前言 Kettle简介 Kettle是一款国外开源的ETL工具&#xff0c;纯Java编写&#xff0c;可以在Window、Linux、Unix上运行&#xff0c;绿色无需安装&#xff0c;数据抽取高效稳定 WebSpoon是Kettle的Web版本&#xff0c;由Kettle社区维护&#xff0c;不受Pentaho支持&#xff0c;…

搭建Tomcat(三)---重写service方法

目录 引入 一、在Java中创建一个新的空项目&#xff08;初步搭建&#xff09; 问题&#xff1a; 要求在tomcat软件包下的MyTomcat类中编写main文件&#xff0c;实现在MyTomcat中扫描myweb软件包中的所有Java文件&#xff0c;并返回“WebServlet(url"myFirst")”中…

CAN配置---波特率中断引脚等---autochips-AC7811-ARM-M3内核

1、配置工具 虽然不怎么好用&#xff0c;但比没有强多了。具体看图&#xff1a; 时钟选着 NVIC配置 GPIO配置 2、生成的具体配置信息 NXP的配置工具里面&#xff0c;具体的波特率可以直接显示&#xff0c;这个工具没有&#xff0c;怎么办&#xff1f; 它放到了生成的代码里面…

matlab Patten的使用(重要)(Matlab处理字符串一)

原文连接&#xff1a;https://www.mathworks.com/help/releases/R2022b/matlab/ref/pattern.html?browserF1help 能使用的搜索函数&#xff1a; contains确定字符串中是否有模式matches确定模式是否与字符串匹配count计算字符串中模式的出现次数endsWith确定字符串是否以模式…

Docker创建一个mongodb实例,并用springboot连接 mongodb进行读写文件

一、通过Docker 进行运行一个 mongodb实例 1、拉取镜像 docker pull mongo:5.0.5 2、创建 mongodb容器实例 docker run -d --name mongodb2 \-e MONGO_INITDB_ROOT_USERNAMEsalaryMongo \-e MONGO_INITDB_ROOT_PASSWORD123456 \-p 27017:27017 \mongo:5.0.5 3、进入容器&am…

#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍02-基于错误消息的SQL注入(Error-Based SQL Injection)

免责声明 本教程仅为合法的教学目的而准备&#xff0c;严禁用于任何形式的违法犯罪活动及其他商业行为&#xff0c;在使用本教程前&#xff0c;您应确保该行为符合当地的法律法规&#xff0c;继续阅读即表示您需自行承担所有操作的后果&#xff0c;如有异议&#xff0c;请立即停…

OpenCVE:一款自动收集NVD、MITRE等多源知名漏洞库的开源工具,累计收录CVE 27万+

漏洞库在企业中扮演着至关重要的角色&#xff0c;不仅提升了企业的安全防护能力&#xff0c;还支持了安全决策、合规性要求的满足以及智能化管理的发展。前期博文《业界十大知名权威安全漏洞库介绍》介绍了主流漏洞库&#xff0c;今天给大家介绍一款集成了多款漏洞库的开源漏洞…

Spring Boot 3.X:Unable to connect to Redis错误记录

一.背景 最近在搭建一个新项目&#xff0c;本着有新用新的原则&#xff0c;项目选择到了jdk17SpringBoot3.4。但是在测试Redis连接的时候却遇到了以下问题&#xff1a; redis连不上了。于是我先去检查了配置文件的连接信息&#xff0c;发现没问题&#xff1b;再去检查配置类&am…

MinT: 第一个能够生成顺序事件并控制其时间戳的文本转视频模型。

MinT 是第一个能够生成顺序事件并控制其时间戳的文本转视频模型。使用 MinT 生成时间控制的多事件视频。给定一系列事件文本提示及其所需的开始和结束时间戳&#xff0c;MinT 可以合成具有一致主题和背景的平滑连接事件。此外&#xff0c;它可以灵活地控制每个事件的时间跨度。…

C语言实验 结构体2

时间:2024.12.18 6-5 评委打分-t-CalcuScore 代码 // 定义结构体 struct Score {int id;char name[10];int value[17];double finalScore;int rank; };// 计算最终成绩 void CalcuScore(struct Score grade[], int n) {for (int i = 0; i < n; i++) {int max = grade[i].…

第6章 第一组重构

最常用到的重构就是用提炼函数&#xff08;106&#xff09;将代码提炼到函数中&#xff0c;或者用提炼变量&#xff08;119&#xff09;来提炼变量。既然重构的作用就是应对变化&#xff0c;你应该不会感到惊讶&#xff0c;我也经常使用这两个重构的反向重构——内联函数&#…