PAT乙类1010之1010 一元多项式求导

一、题目

设计函数求一元多项式的导数。(注:X​n(n为整数)的一阶导数为nXn−1。)输入格式:
以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。输出格式:
以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0。输入样例:
3 4 -5 2 6 1 -2 0
输出样例:
12 3 -10 1 6 0

二、代码

方法一、存入数组再处理法
  • 核心函数
  1. 判断何时输入结束问题!!!
    1)如果数中 包含负数(包含负号和整数两个字符)、空格、换行,用char数组存储,如果遇到换行符后结束输入,是不行的;因为这样负数没办法转化!!所以要换种思路!!
    2)由于它在输入的时候第一个是整数,第二个是字符,所以我们每次输入时候第一个用整形数组赋值,第二个用char赋值;判断char是不是换行符来结束输入!!!
  • 分析
    (1)输入的数据每两个为一组,所以是i+=2,之后进行处理就行;
    int a = int_num[i] * int_num[i+1];
    int b = int_num[i+1] - 1;
    但是当a为零了,要将数组个数减2
    (2)要特殊处理零特征多项式, 就是常数。 只要b等于零, 就直接输出"0 0"

  • 易错点

#include <iostream>
#include <stdio.h>
using namespace std;int qiudao(int int_num[], int &n) {for(int i=0; i<n; i+=2) {int a = int_num[i] * int_num[i+1];int b = int_num[i+1] - 1;if(a != 0) {int_num[i] = a;int_num[i+1] = b;}else {n = n - 2;}}return 0;}int main() {int num[1000];int i = 0, j, k=0;int temp;char c;while(cin >> temp) {if(temp > 1000) {return 0;}num[i++] = temp;c = getchar();if(c == '\n') {break; }}if(num[0] == 0 || num[1] == 0) {cout<<"0 0";}else {qiudao(num, i);for(j=0; j<i; j++) {if( j!= i-1){cout<<num[j]<< " ";}else {cout<<num[j];}}}return 0;
}
方法二、不存入直接处理法
  • 核心函数
  1. 不存储,直接按照两个一组来处理。 cin>>a>>b 如果遇到空格就会根据a、b的类型进行输入赋值。像本题,压根不处理空格!!!
    while(cin>>a>>b)见后面附录
  • 分析
  1. 用x来控制是不是零多项式! 如果是直接跳出循环直接输出,如果不是则将x变为0, 这样就会正常输出" "空格
#include <iostream>
using namespace std;int main(){int a,b;int x = 1;while(cin>>a>>b){if(b == 0)break;if(!x)cout << " ";elsex = 0;cout << a*b << " " <<b-1;}if(x)cout << "0 0";return 0;
}

关于C++中while(cin>>a)

cin是输入操作符,cin>>a的过程是先取得从键盘的输入值a,并将a赋给cin,因此while(cin>>a)的意思就是只要输入的值有效,那么就执行while体内的语句。

实例设计如下:

1、统计输入连续数字的个数,while循环结束 (跳出流对象)的时候,打印最后一个数 。通过检测其流的状态来判断结束;

(1)若流是有效的,即流未遇到错误,那么检测成功。

(2)若遇到文件结束符,或遇到一个无效的输入时(例如本题输入的值不是一个整数),istream对象的状态会变为无效,条件就为假。

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

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

相关文章

此beta版本目前不接受任何新测试员_ASO行业资讯|苹果官方App测试工具TestFlight

ASO行业资讯1数据周报12月8日起&#xff0c;用户在任何 Apple 平台下载 App 之前&#xff0c;App Store 都会先帮助其了解该 App 的隐私保护做法。在每款 App 的产品页面上&#xff0c;用户能了解到该 App 可能收集的某些数据类型&#xff0c;以及该数据是否会关联到他们或对其…

c#执行存储过程的简单实例

/*登陆验证存储过程*/if exists(select name from sysobjects where typep and namecheckUserProc)drop procedure checkUserProcgocreate procedure checkUserProc(checkResult int output,checkUser varchar(50),checkPassword varchar(100))asif exists(select * from userT…

PAT乙类之1011 A+B 和 C

一、题目 给定区间 [−2​^31, 2 ^31​​ ] 内的 3 个整数 A、B 和 C&#xff0c;请判断 AB 是否大于 C。输入格式&#xff1a; 输入第 1 行给出正整数 T (≤10)&#xff0c;是测试用例的个数。随后给出 T 组测试用例&#xff0c;每组占一行&#xff0c;顺序给出 A、B 和 C。…

LeetCode 492. 构造矩形

1. 题目 作为一位web开发者&#xff0c; 懂得怎样去规划一个页面的尺寸是很重要的。 现给定一个具体的矩形页面面积&#xff0c;你的任务是设计一个长度为 L 和宽度为 W 且满足以下要求的矩形的页面。要求&#xff1a; 你设计的矩形页面必须等于给定的目标面积。 宽度 W 不应…

uuid生成_php如何生成 uuid(总结)

1、UUID的格式是什么&#xff1f;UUID格式为&#xff1a;xxxxxxxx-xxxx-xxxx-xxxxxx-xxxxxxxxxx (8-4-4-4-12)&#xff0c;其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字2、UUID使用实例&#xff1f;用md5函数生成密码字符串&#xff0c;然后substr函数在里面截取就好&…

PAT乙类之1012 数字分类 (20 分)

一、 题目 给定一系列正整数&#xff0c;请按要求对数字进行分类&#xff0c;并输出以下 5 个数字&#xff1a; A​1 能被 5 整除的数字中所有偶数的和&#xff1b; A​2 将被 5 除后余 1 的数字按给出顺序进行交错求和&#xff0c;即计算 n1−n2n3−n4⋯&#xff1b; A3 被 5…

C#.net同步异步SOCKET通讯和多线程总结(转)

C#.net同步异步SOCKET通讯和多线程总结 来源&#xff1a;http://www.cnblogs.com/Silverlight_Team/archive/2009/03/13/1411136.html 同步套接字通信 Socket支持下的网上点对点的通信 服务端实现监听连接&#xff0c;客户端实现发送连接请求&#xff0c;建立连接后进行发送和…

python delta_Python 函数

一、函数的基本语法及特性函数定义&#xff1a;定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来&#xff0c;要想执行这个函数&#xff0c;只需调用其函数名即可特性:减少重复代码使程序变的可扩展使程序变得易维护语法定义&#xff1a;#def 函数名(参数)&#xf…

浏览器返回错误汇总分析

错误代码&#xff1a;400 400错误是由于不正确的请求造成的&#xff0c;说明正在搜索的网页可能已经删除、更名或暂时不可用。 错误代码&#xff1a;401.1 401.1错误是由于登陆失败造成的&#xff0c;说明没有权限查看该目录或网页。 错误代码&#xff1a;401.2 401.2错误是由于…

PAT乙类1013 数素数 (20 分)

一、题目 令 P​i表示第 i 个素数。现任给两个正整数 M≤N≤10^4&#xff0c;请输出 PM到 PN的所有素数。输入格式&#xff1a; 输入在一行中给出 M 和 N&#xff0c;其间以空格分隔。输出格式&#xff1a; 输出从 P​M到 P​N的所有素数&#xff0c;每 10 个数字占 1 行&…

LeetCode 506. 相对名次(map)

1. 题目 给出 N 名运动员的成绩&#xff0c;找出他们的相对名次并授予前三名对应的奖牌。 前三名运动员将会被分别授予 “金牌”&#xff0c;“银牌” 和“ 铜牌”&#xff08;“Gold Medal”, “Silver Medal”, “Bronze Medal”&#xff09;。 (注&#xff1a;分数越高的选…

python docx包_[Python02] Python-docx包的使用,快速处理 Word 文件!

日常需要经常处理Word文档&#xff0c;发现了一个新的Python包&#xff1a;Python-docx&#xff0c;处理docx十分方便。而且这个包和pandas包结合使用&#xff0c;可以在word插入excel表格&#xff0c;节省了很多复制、粘贴、调整表格样式的时间&#xff0c;真的很方便&#xf…

c study_13

第十章:文件 文件文件的基本概念  所谓"文件"是指一组相关数据的有序集合。 这个数据集有一个名称&#xff0c;叫做文件名。 实际上在前面的各章中我们已经多次使用了文件&#xff0c;例如源程序文件、目标文件、可执行文件、库文件 (头文件)等。文件通常是驻留在外…

PAT乙类1014 福尔摩斯的约会 (20 分)

一、题目 大侦探福尔摩斯接到一张奇怪的字条&#xff1a;我们约会吧&#xff01; 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm。大侦探很快就明白了&#xff0c; 字条上奇怪的乱码实际上就是约会的时间星期四 14:04&#xff0c;因为前面两字符串中第 1 对…

LeetCode 507. 完美数

1. 题目 对于一个 正整数&#xff0c;如果它和除了它自身以外的所有正因子之和相等&#xff0c;我们称它为“完美数”。 给定一个 整数 n&#xff0c; 如果他是完美数&#xff0c;返回 True&#xff0c;否则返回 False 示例&#xff1a; 输入: 28 输出: True 解释: 28 1 2…

python分段函数图像画法_我想用Python matplotlib 画一个这样类似的图像,需要用到分段函数。大佬帮帮这个小弟?...

有做出来了import matplotlib.pyplot as pltimport numpy as npdef lin():#直线方程i0while i!80:m np.linspace(20, 100, 3)n [(80-i), (80-i), (80-i)]axes.plot(m, n)i i 20def cruve():#圆弧方程k0while k!60:if k20:r 10.0#半径a, b ((70-k) ,-20 )#圆心坐标x np.a…

python笔记(五) - 获取对象的引用

1&#xff0c;使用 getattr 函数&#xff0c;可以得到一个直到运行时才知道名称的函数的引用。 >>>li ["Larry", "Curly"]>>>li.pop<built-inmethod pop of list object at 0x00A75850>>>>getattr(li,pop)<built-inme…

spring-test dao空指针异常_014、Java异常机制

1.异常的概念和分类异常指程序运行过程中出现的非正常现象&#xff0c;例如用户输入错误、除数为零、需要处理的文件不存在、数组下标越界等。在Java的异常处理机制中&#xff0c;引进了很多用来描述和处理异常的类&#xff0c;称为异常类。异常类定义中包含了该类异常的信息和…

基于奇异值分解(SVD)的图片压缩实践

文章目录1. 前言2. 原理简介2.1 SVD定义3. 实践代码4. 参考文献1. 前言 数字图片在计算机中是以矩阵形式存储的。所以可以通过矩阵理论和矩阵算法对数字图像进行分析和处理。本文通过对图片进行SVD压缩&#xff0c;对不同的参数下的压缩效果进行对比。 SVD概念可以参考&#…

执行文件异常报错:ImportError: attempted relative import with no known parent package

问题描述 1. 源代码中的导入代码&#xff1a; from ..utils.osutils import mkdir_if_missing #导入自己的 函数 from ..utils.serialization import write_json, read_json这个是将utils中的py文件导入到cuhk03中。但是报错&#xff01; 解决方法 1. 相对导入 其中上述…