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

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

时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard

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

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

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

输入样例:
3 4 -5 2 6 1 -2 0
输出样例:
12 3 -10 1 6 0

别以为代码越多越好,你的100行代码可能比不上别人的10行!

解题思路:本题我用最垃圾的办法:将2个数组进行传值,弄到最后基本正确了,但是又由于看到了0多项式,不懂什么意思,太复杂,结果只好作罢,看了下网上技术大牛的解法,我突然怀疑人生了!!!,首先输入形式就改变了我的世界观了,其次,对于每一个特殊情况的判断都无比好,真的棒棒的,这里不想多说,读者最后自己先做一遍,再看代码。

#include 
#include 

int main(void){
    int i, m, n, flag = 0;

    while(1){
        scanf("%d%d", &m, &n);
        if(m * n){
            if(flag)
                printf(" ");
            else
                flag = 1;
            printf("%d %d", m * n, n - 1);
        }

        //控制退出
        if(getchar() != ' ')
            break;
    }

    if(flag == 0)
        printf("0 0");

    return 0;
}

总结 :首先我只想说弥补了我无法控制输入个数的疑惑,其次,这种方法居然可以先输入元素,再进行计算,而不是平时我们只能输入2个元素的情况,这一定要好好研究研究,最后,函数对于各种特殊情况的控制我不想多说了,太TM的厉害了,算法大法好。(虽然这不是算法,算法TM比这更牛牛牛啊!)。


你可能感兴趣的:(PAT乙级)