https://pintia.cn/problem-sets/994805260223102976/problems/994805313708867584
3.9改进版本
#include<iostream>
using namespace std;
int main(){
int p, q, flag = 1;
while(cin.peek()!='\n'){
cin >> p >> q;
if(p*q != 0){
if(flag == 0)
cout << " ";
cout << p*q << " " << q-1;
}
// 第一次输入一对
if(flag==1){
flag = 0;
if(q == 0){
cout << "0 0" << endl;
}
}
}
return 0;
}
原版
这题要对多项式求导,输入格式是按照幂次降序的顺序输入每一项的系数和幂数,比较特殊的是对常数项求导,
如果多项式仅为1个常数,输入格式是0 0;
如果多项式还有别的项,那么常数项求导结果不输出。
#include<iostream>
#include<string>
using namespace std;
int main(){
int num, flag=0, a, b;
int res[2003], k=0;
while(cin >> num){
flag ++;
if(flag%2!=0)
a=num; // 系数
else{
b=num; // 幂次
res[k++]=a*b;
if(b != 0){
res[k++]=b-1;
}else{
res[k++]=b;
}
}
if(getchar() == '\n')
break;
}
if(flag > 2 && res[k-2]==0){
k -= 2;
}
for(int i=0; i<k; i++){
cout << res[i];
if(i<k-1){
cout << " ";
}
}
return 0;
}