PAT (Basic Level) Practise:1010. 一元多项式求导

【题目链接】

设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为n*xn-1。)

输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。

输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是0,但是表示为“0 0”。

输入样例:

3 4 -5 2 6 1 -2 0

输出样例:

12 3 -10 1 6 0

提交代码:

#include <stdio.h>

int main(void)
{
    int coefficient;
    int exponent;
    int cnt = 1;

    while(scanf("%d %d", &coefficient, &exponent) != EOF)
    {
        if(exponent != 0 && coefficient != 0)
        {
            printf(cnt == 1 ? "%d %d" : " %d %d", coefficient * exponent, exponent - 1);
            cnt = 0;
        }
    }

    // 如果导数为0要输出"0 0",感觉好坑人。。。
    if(cnt == 1)
        printf("0 0");

    return 0;
}
时间: 2024-10-31 13:46:06

PAT (Basic Level) Practise:1010. 一元多项式求导的相关文章

PAT 乙级 1010 一元多项式求导 (25) C++版

1010. 一元多项式求导 (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 设计函数求一元多项式的导数.(注:xn(n为整数)的一阶导数为n*xn-1.) 输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数).数字间以空格分隔. 输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数.数字间以空格分隔,但结尾不能有多余空格.注意"零多项式"的指数和系数都是0,但是表示为"

PAT 1010. 一元多项式求导

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

PAT (Basic Level) Practise (中文) 1005

1005. 继续(3n+1)猜想 (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数.例如对n=3进行验证的时候,我们需要计算3.5.8.4.2.1,则当我们对n=5.8.4.2进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重

PAT (Basic Level) Practise (中文)1004. 成绩排名 (20)

读入n名学生的姓名.学号.成绩,分别输出成绩最高和成绩最低学生的姓名和学号. 输入格式:每个测试输入包含1个测试用例,格式为 第1行:正整数n 第2行:第1个学生的姓名 学号 成绩 第3行:第2个学生的姓名 学号 成绩 ... ... ... 第n+1行:第n个学生的姓名 学号 成绩 其中姓名和学号均为不超过10个字符的字符串,成绩为0到100之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的. 输出格式:对每个测试用例输出2行,第1行是成绩最高学生的姓名和学号,第2行是成绩最低

1010. 一元多项式求导

1010. 一元多项式求导 (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 设计函数求一元多项式的导数. 输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数).数字间以空格分隔. 输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数.数字间以空格分隔,但结尾不能有多余空格.注意“零多项式”的指数和系数都是0,但是表示为“0 0”. 输入样例: 3 4 -5 2 6 1 -2 0 输出样例

PAT:1010一元多项式求导 (25 )

PAT乙级的题目相对于甲级的题目较为简单,但是有时候也会有一两道题很奇怪,具有一定的逻辑难度,这道题就是一个例子. 先看一下题目: 010 一元多项式求导 (25 分)设计函数求一元多项式的导数.(注:x?n??(n为整数)的一阶导数为nx?n?1??.)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数).数字间以空格分隔.输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数.数字间以空格分隔,但结尾不能有多余空格.注意"零多项式"的指数和

PAT:1010. 一元多项式求导 (25) 全错

#include<stdio.h> #include<stdlib.h> #include<algorithm> using namespace std; int main() { int arr[1111]; fill(arr,arr+1111,0); int n=0,tmp; while(scanf("%d",&tmp)!=EOF) //存储系数和指数,下标从0开始偶数为系数,奇数为指数 arr[n++]=tmp; for(int i=0

PAT:1010. 一元多项式求导 (25) AC

#include<stdio.h> #include<stdlib.h> #include<algorithm> using namespace std; int main() { int arr[2111]; fill(arr,arr+2111,0); int n=0,tmp; while(scanf("%d",&tmp)!=EOF) //存储系数和指数,下标从0开始偶数为系数,奇数为指数 arr[n++]=tmp; for(int i=0

PAT-乙级-1010 一元多项式求导

设计函数求一元多项式的导数.(注:x?n??(n为整数)的一阶导数为nx?n?1??.) 输入格式: 以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数).数字间以空格分隔. 输出格式: 以与输入相同的格式输出导数多项式非零项的系数和指数.数字间以空格分隔,但结尾不能有多余空格.注意"零多项式"的指数和系数都是 0,但是表示为 0 0. 输入样例: 3 4 -5 2 6 1 -2 0 输出样例: 12 3 -10 1 6 0 分析: 按照求导公式求即可 PS:

1010 一元多项式求导 (25分)

#include<iostream> using namespace std; int main() { int index; int expo; cin>>expo>>index; if(index==0){ cout << "0 0"; return 0; } else cout << index*expo <<" "<<index-1; while(cin>>exp