1010 一元多項式求導 ——C/C++實現
阿新 • • 發佈:2018-11-24
題目
1010 一元多項式求導 (25 point(s))
設計函式求一元多項式的導數。(注:xn(n為整數)的一階導數為nxn−1。)
輸入格式:
以指數遞降方式輸入多項式非零項係數和指數(絕對值均為不超過 1000 的整數)。數字間以空格分隔。
輸出格式:
以與輸入相同的格式輸出導數多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。注意“零多項式”的指數和係數都是 0,但是表示為
0 0
。輸入樣例:
3 4 -5 2 6 1 -2 0
輸出樣例:
12 3 -10 1 6 0
演算法
注意“零多項式”的指數和係數都是 0,但是表示為 0 0
至於實現,每次讀入兩個數字就好。由於輸入式是指數和係數。因此,每讀兩個會很方便。
程式碼
程式碼1、C++實現
#include <iostream> using namespace std; int main(){ long int a,b,flag=0; do{ cin>>a>>b; if(b!=0){ if(flag==1) cout<<" "; //保證第一個數字之後才在數字之前輸出空格 cout<<a*b<<" "<<b-1; flag=1; } }while(getchar()!='\n'); if(flag==0) cout<<"0 0"; return 0; }
程式碼2、C實現
//PAT1010V1
#include <stdio.h>
int main(){
int a,b;
int flag=0;
while(scanf("%d %d",&a,&b)!=EOF){
if(b!=0){
if(flag==0) printf("%d",a*b);
else printf(" %d",a*b);
printf(" %d",b-1);
flag=1;
}
}
if(flag==0) printf("0 0");
return 0;
}