《编程思维与实践》1037.一元多项式乘法
《编程思维与实践》1037.一元多项式乘法
题目

思路
比较容易想到将步骤分为三步:
1.读取多项式每项的系数(coefficient)和对应的指数(dim);
2.进行多项式乘法;
3.输出进行多项式乘法后的非零项系数.
其中多项式乘法可以通过循环来处理,输出可以用if来判断系数是否为0,需要考虑的是如何读取多项式:
ax^y(a≠±1) , ±x^y , ax(a≠±1) , ±x 和 c(常数项) 为每项可能出现的所有情况.
一般情况只需要利用atoi存取系数,如果存完系数后读取的第一个字符不是x,
那表示读取的是常数项,否则直接跳过x,接着再存指数,最后利用指数为数组下标存系数.
注意的点:
1.对于 a=±1 和 有无 ‘^’ 的情况,用atoi时需要小心.
2.输出的时候指数应该从大到小(逆序).
3.多项式乘法后指数会变大,存结果时数组应该开大一些.
代码
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
#define N 100 //指数小于50void readpoly(char* s,int* coef) //polynomial 多项式
{while(*s!='\0'){char temp1[N]; char temp2[N];int i=0;int j=0;while(*s!='\0'&&(isdigit(*s)||*s=='+'||*s=='-')) //注意s别越界(条件写前面) {temp1[i++]=*s;s++;}if(i==0||(i==1&&!isdigit(temp1[0]))) //a=±1的情形{temp1[i++]='1';}temp1[i]='\0';if(*s!='x') //是常数项 (0次方){coef[0]=atoi(temp1); }else //非常数项{s++; //跳过xif(*s=='^') //判断是不是有'^'{s++;while(isdigit(*s)){temp2[j++]=*s;s++;}temp2[j]='\0';coef[atoi(temp2)]=atoi(temp1);}else{coef[1]=atoi(temp1);}}}
}void multiply(int* coef1,int* coef2,int* result)
{for(int i=0;i<N/2;i++){for(int j=0;j<N/2;j++){result[i+j]+=coef1[i]*coef2[j];}}
}void output(int *result)
{ for(int i=N-1;i>=0;i--) //逆向 {if(result[i]!=0){printf("%d ",result[i]);}}printf("\n");
} int main()
{char s[101]; //长度不超过100while(scanf("%s",s)!=EOF){int coef[2][N/2]; //coefficient 系数 memset(coef,0,sizeof(coef));readpoly(s,coef[0]);scanf("%s",s);readpoly(s,coef[1]); int result[N]={0};multiply(coef[0],coef[1],result);output(result); }return 0;
}
相关文章:
《编程思维与实践》1037.一元多项式乘法
《编程思维与实践》1037.一元多项式乘法 题目 思路 比较容易想到将步骤分为三步: 1.读取多项式每项的系数(coefficient)和对应的指数(dim); 2.进行多项式乘法; 3.输出进行多项式乘法后的非零项系数. 其中多项式乘法可以通过循环来处理,输出可以用if来判断系数是否为0,需要考虑…...
top命令学习
文章目录 一、top命令回显信息含义1、第一行2、第二行3、第三行4、第四行5、第五行6、第六行进程信息 二、top简单交互1、按数字“1”,显示列出所有cpu的信息2、按“M”,按内存使用率从大到小排序3、按“P”,按CPU使用率从大到小排序 一、top…...
PHP数组的功能及实现案例
目录 前言 一、什么是数组 二、创建关联数组 1.1运行流程(思想) 1.2代码段 1.3运行截图 三、创建索引数组 1.1运行流程(思想) 1.2代码段 1.3运行截图 前言 1.若有选择,可实现在目录里进行快速查找ÿ…...
Cesium实践(4)——空间数据加载
文章目录 前言几何形体点线面体 标签文字图标 几何文件GeoJsonKMLCZML 三维模型总结 前言 本文介绍Cesium如何加载空间数据,空间数据即明确定义在三维空间中的数据,空间数据包括以下几类:1、几何形体(点、线、面、体)…...
FreeRTOS(三)——应用开发(一)
文章目录 0x01 FreeRTOS文件夹FreeRTOSConfig.h文件内容上面定义的宏决定FreeRTOS.h文件中的定义0x02 创建任务创建静态任务过程configSUPPORT_STATIC_ALLOCATION创建动态任务过程configSUPPORT_DYNAMIC_ALLOCATION 0x03 FreeRTOS启动流程启动流程概述 0x04 任务管理任务调度器…...
这些 Linux 的自动化技巧,教你轻松完成任务
linux 系统的 web 网站在运营状态时,我们常需要对网站进行维护,例如查看资源剩余并做出响应、日志分割、数据整理,在特定状态执行特定任务等等,这些都会需要 linux能实现自动执行某些任任务。本篇博文介绍如何进行常见的linux自动…...
PAL制搜台
PAL电视制式 PAL电视制式(Phase Alternating Line)采用625线制式,视讯制式采用PAL-B/G、PAL-D/K、PAL-I等。PAL电视不像NTSC制式有中心频点,它采用宽带的频率范围进行电视信号的调制和传输。 PAL电视制式频率 PAL电视采用UHF(超高频)和VHF(甚高频)两个频段进行电视信号的传输…...
SpringBoot 使用 Docker Registry Api
Spring Boot是一个快速开发Web应用程序的框架,它提供了许多方便的工具和库,使得开发过程更加高效。在部署Spring Boot应用程序时,使用Docker容器是现代化和流行的选择。在此背景下,本文将介绍如何使用Docker Registry API来构建、…...
Win10任务栏卡死怎么办?这3个方法快收藏!
案例:win10任务栏卡死 【姐妹们,我的win10任务栏一直卡着,我完全没法使用计算机了,遇到这种情况,我应该怎么做呢?求大家给我支支招!感谢感谢!】 我们使用电脑的过程中,…...
这一篇搞定Spring
文章目录 一、引言1.1 原生web开发中存在哪些问题? 二、Spring框架2.1 概念2.2 访问与下载 三、Spring架构组成四、山寨版的Spring容器4.1准备工作4.2 山寨IOC容器4.3 配置文件告诉容器 管理哪些bean4.4 相关类4.5 测试 容器 五、构建Maven项目5.1 新建项目5.2 选择…...
软测如果这么学,培训班都得倒闭,直接省去上万元的学费
俗话说外行看热闹,内行看门道。 写这篇文章,是希望把我的一些我认为是非常有价值的经验总结出来,能够帮助刚做测试不久的新同学,或者是测试经验丰富的老同学以共享。 希望我们可爱的新同学,准备要在测试领域耕耘的伙…...
赎金信(Hash的应用)
给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。 来源:力扣࿰…...
4月更新!EasyOps®全平台27项新功能一口气来袭~
又到了每月产品盘点时刻,27大新功能上线和升级优化,设计Hyperlnsight超融合持续观测平台、DevOps持续交付平台、AutoOps自动化运维平台、ITSM服务平台、公共服务,在不断的技术创新过程中,进一步加速IT运维效率升级。 下面和小编一…...
程序计算任意连续的12个月公里数不超三万公里预警
为了比亚迪的电池终身质保,写了个简单算法,计算任意12个连续的月份公里数加起来不超过3万公里的预警import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Scanner; import java.util.stream.Collectors;/***…...
【IMU】IMU知多少之42866
ICM-42688-P数据手册中加速度计和角速度计的超量程阈值分别如下: 加速度计超量程阈值: 数字量(LSB):16g 模拟量(g):22g 角速度计超量程阈值: 数字量(LSB&a…...
谁说不能用中文写代码?
入门教程、案例源码、学习资料、读者群 请访问: python666.cn 大家好,欢迎来到 Crossin的编程教室 ! 现代计算机和编程的起源和推动力量主要源自美国,再加上26个字母很便于表示(算上大小写,6位bit就够了&am…...
Java阶段二Day07
Java阶段二Day07 文章目录 Java阶段二Day07V17UserControllerDispatcherServletControllerRequestMapping V18DispatcherServletHandleMapping V19BirdBootApplication 线程池线程的执行过程线程池API 数据库数据库的基本概念数据库管理系统中常见的概念 SQL分类DDL语言-数据定…...
React Native iOS打包详细步骤
一、在自己项目的iOS文件夹下新建一个文件夹取名bundle 二、将打包命令写到项目package.json文件里,终端执行 npm run bundle-ios 先添加如下(注意:这里写的路径"./ios/bundle"就是上面bundle创建的文件夹):…...
I/O复用函数,poll和epoll的用法与select、poll、epoll的区别
1.poll的接口介绍 poll系统调用和select类似,也是在指定时间内轮询一定数量的文件描述符,已测试其中是否有就绪者。poll的原型如下: # include <poll.h> int poll(struct pollfd*fds,nfds_t nfds,int timeout); poll系统调用成功返回就…...
大数据周会-本周学习内容总结011
开会时间:2023.04.23 15:00 线下会议 目录 01【spark】 02【es同步mysql】 03【下周任务】 01【spark】 尚硅谷大数据技术Spark教程-笔记01【Spark(概述、快速上手、运行环境、运行架构)】尚硅谷大数据技术Spark教程-笔记02【SparkCore&am…...
10分钟掌握XGBoost:机器学习竞赛的终极梯度提升库
10分钟掌握XGBoost:机器学习竞赛的终极梯度提升库 【免费下载链接】xgboost Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C and more. Runs on single machine, Hadoop, Spark, Dask, Flink a…...
Miro致力弥合AI潜力与组织现实之间的鸿沟
Miro在Canvas 26上将其AI平台建设成为现代AI生态系统的连接层 — 汇聚团队、智能体以及已经使用的工具,将个体AI生产率变为整个组织的转型 Miro是一个面向团队的人工智能(AI)创新工作空间。该公司宣布推出多项AI平台创新,强化了其…...
Agent 一接 MCP 大结果集就开始失忆:从 Result Summarization 到 Cursor Paging 的工程实战
一、MCP 一接大结果集,Agent 最先坏掉的不是推理,而是记忆 🧠 很多团队把 MCP 当成 Agent 的万能扩展层:只要把数据库、工单、代码检索、指标平台都挂进去,模型就能“边查边做”。真正上线后最先暴露的问题却很一致&am…...
如何快速掌握《鸣潮》游戏模组开发:专业逆向工程与AES加密技术完整指南
如何快速掌握《鸣潮》游戏模组开发:专业逆向工程与AES加密技术完整指南 【免费下载链接】wuwa-mod Wuthering Waves pak mods 项目地址: https://gitcode.com/GitHub_Trending/wu/wuwa-mod WuWa-Mod是一个专门为热门游戏《鸣潮》(Wuthering Waves…...
YimMenu:GTA5游戏增强工具从入门到精通完全指南
YimMenu:GTA5游戏增强工具从入门到精通完全指南 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending/yi/YimMenu …...
终极指南:如何用AhabAssistantLimbusCompany彻底解放《Limbus Company》游戏时间
终极指南:如何用AhabAssistantLimbusCompany彻底解放《Limbus Company》游戏时间 【免费下载链接】AhabAssistantLimbusCompany AALC,PC端Limbus Company小助手。AALC,Limbus Company Assistant on PC 项目地址: https://gitcode.com/gh_mi…...
0602光刻机 第六篇:EUV超精密光学系统(S级 长期死磕突破)超精密反射镜技术壁垒
第2小节:超精密反射镜技术壁垒(基底加工镀膜检测,全量化死磕)前置硬核声明EUV整机90%的成像误差、波像差、良率波动,最终全部归因于超精密反射镜的制造壁垒。EUV不是“普通光学抛光”,是原子级表面重构、皮…...
Steam Economy Enhancer:终极Steam市场自动化管理完整指南
Steam Economy Enhancer:终极Steam市场自动化管理完整指南 【免费下载链接】Steam-Economy-Enhancer 中文版:Enhances the Steam Inventory and Steam Market. 项目地址: https://gitcode.com/gh_mirrors/ste/Steam-Economy-Enhancer Steam Econo…...
抖音批量下载神器:5分钟掌握高效内容采集的终极指南
抖音批量下载神器:5分钟掌握高效内容采集的终极指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support…...
家庭宽带上网背后的隐形功臣:一文拆解光猫/路由器里的NAT和DHCP是怎么协同工作的
家庭网络中的隐形守护者:NAT与DHCP如何编织你的数字生活 当你躺在沙发上用手机追剧时,是否想过为什么所有家庭设备都能和平共处在同一网络?192.168.1.x这串神秘数字背后,藏着两套精密的协议系统——它们像建筑物的水电管线般隐形却…...
