zoukankan      html  css  js  c++  java
  • PAT甲级1009水题飘过

    题目分析:简单的多项式的模拟乘法,你可以假设未知数为x,exp为x的指数,coe为x的系数,则很容易就把答案推算出来,注意答案是从指数的高往低输出,同时要注意的是这是多项式的乘法,虽然指数的范围只有0~1000,但是乘法结果的指数范围为0~2000,注意数组定义的范围,开小了会产生段错误(下标越界,访问了不该访问的内存)

     1 #include<iostream>
     2 using namespace std;
     3 
     4 struct Node{
     5     int exp;        //指数 
     6     double coe;        //系数 
     7 }k[2005], a[15], b[15];        //对于k数组来说下标即对应指数 所以exp对于k数组来说其实是多余的 
     8 
     9 //初始化结构体数组 
    10 void init(){
    11     for(int i = 1; i <= 10; i++){
    12         a[i].exp = 0;
    13         a[i].coe = 0;
    14         b[i].exp = 0;
    15         b[i].coe = 0;
    16     } 
    17     for(int i = 0; i <= 2000; i++){
    18         k[i].exp = 0;
    19         k[i].coe = 0;
    20     }
    21 }
    22 
    23 int main(){
    24     int n1, n2;
    25     while(scanf("%d", &n1) != EOF){
    26         init();
    27         for(int i = 1; i <= n1; i++){
    28             scanf("%d%lf", &a[i].exp, &a[i].coe);
    29         }
    30         scanf("%d", &n2);
    31         for(int i = 1; i <= n2; i++){
    32             scanf("%d%lf", &b[i].exp, &b[i].coe);
    33         }
    34         for(int i = 1; i <= n1; i++){
    35             for(int j = 1; j <= n2; j++){
    36                 //对a数组中的每一位都与b数组的每一位相乘,将结果存储到k数组中
    37                 //得到指数 
    38                 int exp = a[i].exp + b[j].exp;
    39                 //得到系数
    40                 double coe = a[i].coe * b[j].coe;
    41                 k[exp].coe += coe; 
    42             }
    43         }
    44         //统计一遍有多少项是有意义的(系数不为0)
    45         int num = 0;
    46         for(int i = 2000; i >= 0; i--){
    47             if(k[i].coe != 0) num++;
    48         } 
    49         printf("%d", num);
    50         //从高位到低位输出都有的系数不为0的情况下的多项式的每一项
    51         for(int i = 2000; i >= 0; i--){
    52             if(k[i].coe != 0){
    53                 printf(" %d %0.1lf", i, k[i].coe);
    54             }
    55         } 
    56         printf("
    ");
    57     }
    58     return 0;
    59 } 
    如果有任何意见请在评论区积极留言
  • 相关阅读:
    springboot下使用多线程
    springboot 下测试 service中的方法
    maven 将本地jar包 安装到本地仓库
    idea下http响应乱码
    使用vue-element-admin框架时如何添加多级目录
    如何在uniapp中使用mqtt
    在uniapp设计的APP中引入axios,支持cookie(真机亲测可行)
    vue中get方法如何传递数组参数
    Vue跨域访问,axios&cors
    Vue页面间传值,客户端数据存储,以及父子组件间props传值
  • 原文地址:https://www.cnblogs.com/YLTFY1998/p/11646645.html
Copyright © 2011-2022 走看看