实现一个多项式的类(a+b*x+c*x^2+d*x^3+...+),要求输入该多项式的系数和x的值后打印出这个多项式的值。
#include<iostream> #include<cmath> using namespace std; //利用数组下标作为多项式x的次方 int caculate(int arr[],int x,int n) { int sum = 0; for(int i = 0;i <= n;i++) sum += (arr[i] * pow(x, i)); return sum; } int main(void) { int m; cin >> m; int arr[11]; while(m--) { int n; cin >> n; for(int i = 0;i <= n;i++) { int value; cin >> value; arr[i] = value; } int x; cin >> x; cout << caculate(arr, x, n) << endl; } return 0; }
#include<iostream> #include<math.h> using namespace std; class mu { public: int xishu[20]; int x, n, result; mu(int x, int n, int xishu[]) { this->x = x; this->n = n; for (int i = 0; i <= n; i++) this->xishu[i] = xishu[i]; count(); } void count() { result = 0; for (int i = 0; i <= n; i++) result += xishu[i] * pow(x, i); } void print() { cout << result << endl; } }; int main() { int m, n, x; int xishu[20]; cin >> m; while (m--) { cin >> n; for (int i = 0; i <= n; i++) cin >> xishu[i]; cin >> x; mu m(x, n, xishu); m.print(); } }
#include <iostream>
using namespace std;
class Poly
{
private:
int coe[11],i,j,x,sum=0;
public:
int n;
void cal()
{
for(i=0;i<n+1;i++)
cin >> coe[i];
cin >> x;
for(i=0;i<n+1;i++)
{
j=i;
while(j--)
coe[i] *= x;
sum += coe[i];
}
cout << sum << endl;
}
};
int main()
{
int m;
cin >> m;
while(m--)
{
Poly tmp;
cin >> tmp.n;
tmp.cal();
}
return 0;
}
还行吧,比较容易的题。
#include<iostream> #include<algorithm> using namespace std; class mul{ public: int max,x; void cal(){ cin>>max; int* a=new int[max+1]; for(int i=0;i<max+1;i++) cin>>a[i]; cin>>x; int total=0; for(int i=0;i<max+1;i++) total+=pow(x,i)*a[i]; cout<<total<<endl; } }; int main(){ int m; cin>>m; for(int i=0;i<m;i++){ mul m; m.cal(); } }
#include <cmath> #include <iostream> using namespace std; #include <vector> int caculate(int x,int n){ return pow(x,n); } int main() { int m; cin>>m; while(m--){ int n; cin>>n; int result=0; vector<int>nums(n+1); for(int i=0;i<n+1;i++){ cin>>nums[i]; } int x; cin>>x; for(int i=0;i<n+1;i++){ result+=nums[i]*pow(x,i); } cout<<result<<endl; } }
#include <iostream> #include <cmath> using namespace std; int main(){ int m; cin >> m; while(m--){ int n, x; cin >>n; int factor[n+1], sum=0; for(int i=0; i<=n; ++i){ cin >> factor[i]; } cin >> x; for(int i=0; i<=n; ++i){ sum += factor[i] * pow(x, i); } cout << sum << endl; } }
听说百丽宫是人工检查,赶紧搞个带类的版本#include <iostream> #include <cmath> using namespace std; class Duo{ public: int xishu[20]; int x; }; int main() { int m; cin >> m; while(m--){ int step,sum = 0; cin >> step; Duo a; for(int i = step+1 ; i<20 ; i++){ a.xishu[i] = 0; } for(int i = 0 ; i <= step ;i++){ cin >> a.xishu[i] ; } int binaliang; cin >> binaliang ; for(int i = 0 ; i<20 ;i++){ sum = sum + a.xishu[i]*pow(binaliang,i); } cout << sum << endl; } }
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNextInt()) { int m = in.nextInt(); //样例数 for (int i = 0; i < m; i++) { //第一行为多项式的最高次数m int max_Cs = in.nextInt(); int a[] = new int[max_Cs + 1]; for (int j = 0; j < a.length; j++) { a[j] = in.nextInt(); //每项的系数 } int x = in.nextInt(); //输入x int result = a[0]; for (int j = 1; j < a.length; j++) { result += a[j] * Math.pow(x, j); } System.out.println(result); } } } }
#include <stdio.h> #include <stdlib.h> #include <string.h> #define N 11 int sp[N] = {0}; int main() { int m; while(~scanf("%d", &m)) { while(m--) { memset(sp, 0, N); int n, x; scanf("%d", &n); for(int i = 0; i <= n; i++) { scanf("%d", sp + i); } scanf("%d", &x); long long int sum = 0, tmp = 1; for(int i = 0; i <= n; i++) { sum += (sp[i] * tmp); tmp *= x; } printf("%lld\n", sum); } } return 0; }
#include<iostream> (720)#include<cmath> using namespace std; class Main{ private: int item[11]; int e;//最高次数 int x; public: void set_e(){ cin>>e; } void set_item(){ for(int i=0;i<=e;i++){ cin>>item[i]; } } void set_x(){ cin>>x; } int run(){ int res = 0; for(int i=0;i<=e;i++){ res+=item[i]*pow(x,i); } return res; } }; int main(){ int k; cin>>k; while(k-- >0){ Main m; m.set_e(); m.set_item(); m.set_x(); cout<<m.run()<<endl; } return 0; }
#include<stdio.h> int num(int a,int b) { int temp=1; for(int i=0;i<a;i++) { temp*=b; } return temp; } int main() { int m; scanf("%d\n",&m); while(m--) { int a[20]={0}; int b[20]={0}; int c[20]={0}; int sum=0; int n,x; scanf("%d\n",&n); for(int i=0;i<n+1;i++) { scanf("%d ",&a[i]); } scanf("%d\n",&x); b[0]=1; for(int j=1;j<n+1;j++) { b[j]=num(j,x); } for(int i=0;i<12;i++) { c[i]=a[i]*b[i]; sum+=c[i]; } printf("%d\n",sum); } return 0; }
#include<stdio.h> #include<math.h> int fun(int num[],int n,int x) { if(n==0) return num[n]; int temp; temp=num[n]*pow(x,n); return (temp+fun(num,n-1,x)); return temp; } int main() { int m,n,i,j,x; int result; while(!scanf("%d",&m)) while(getchar()!='\n') continue; for (i=0;i<m;i++) { scanf("%d",&n); int num[30]; for (j=0;j<=n;j++) { scanf("%d",&num[j]); } scanf("%d",&x); result=fun(num,n,x); printf("%d\n",result); } return 0; }
#include<iostream> #include<cmath> using namespace std; int main() { int m; cin>>m; while(m-- > 0) { int i, n, x, a[20], sum = 0; cin>>n; for(i=0; i<=n; i++) cin>>a[i]; cin>>x; for(i=0; i<=n; i++) { if(i==0) sum += a[i]; else sum += a[i] * pow(x, i); } cout<<sum<<endl; } return 0; }