1992年高级程序员下午试题6

简介: 阅读下列程序说明和 C 程序,把应填入其中__n__ 处的字句,写在答卷的对应栏内。 [程序说明] (1)本程序利用辗转相除法求两个均不超过100次的多项式A,B的最大公因式。 例: A(x)=x3一x2+x一1=(x2+1)(x一1) B(x)=x5一7x4十7x3-3x2+6x+4=(x2+1) (x3-7x2十6x+4) 最大公因式为x2+1。

阅读下列程序说明和 C 程序,把应填入其中__n__ 处的字句,写在答卷的对应栏内。

[程序说明]

(1)本程序利用辗转相除法求两个均不超过100次的多项式A,B的最大公因式。

例: A(x)=x3一x2+x一1=(x2+1)(x一1)

B(x)=x5一7x4十7x3-3x2+6x+4=(x2+1) (x3-7x2十6x+4)

最大公因式为x2+1。

(2)辗转相除法的算法如下:

用其中的一个多项式去除另一个多项式;然后,将所得余式变成除式,原除式变成被除式。如此反复相除,当余式为。时,当前除式即为最大公因式。

[程序]

#include <stdio.h>

#include <math.h>

#define DECISE.0005

#define MAX_POWER 100

main( )

{ int i,a,b;

  float Ca[MAX_POWER+1],Cb[MAX _POWER+1];

  void Remainder();

  scanf("%d",&a);

  for ( i=0;i<=a;i++ )

  scanf( "%f",&Ca[i] );

  scanf( "%d",&b) ;

  for ( i=0;i<=b;i++ )

    scanf( "%d",&Cb[i] );

  Remainder(Ca,Cb,a,b);

}

void Remainder(Pointer A,Pointer B,a,b)

float *Pointer A,*Pointer B;

int a,b;

{ float x,y,*Temp;

  int i,j,F1ag=1;

  while ( Flag )

  { i=0;

   while ( PointerB[i]==0 )

   { i ++;b一-;

     Pointer B+=i-- ;

   }

   x=Pointer[i];

   while ( i<=b )

   PointerB[i++]/=x;

   for ( i=0;i<=a-b;i++ )

   { X=Pointer A[i] ;

    for(j=0;j<b ; j++) 

    { y = PointerA[i+l+j]一x * PointerB[j+1];

     PointerA[ i+1+j ]=

     ( y<DECISE&&-y<DECISE )?0.0;y;

    }

    }

    Temp=Pointer A;

    PointerA=PointerB; ·

    PointerB =(a>=b)?Temp+a-b-1:Temp;

    a=b--;

    for ( Flag=0,i=0;i<b && Flag==0;i++ )

    if ( PointerB[i] !=0.0 ) Flag=1;

  }

  printf( "The Greatest Common Factor is:\n");

  for ( i=0;i<a;i++ )

    if ( PointerA[i]!= 0.0)

  printf( "%5.3f *x ∧%d%s",

  PointerA[I],a-i,( PointerA[i+1]<0.0 ) ?"":"+" );

  printf( "%5.3f\n",PointerA[a] );

}

相关文章
|
8月前
|
Java 容器 Spring
什么是Spring IOC 和DI ?
IOC : 控制翻转 , 它把传统上由程序代码直接操控的对象的调用权交给容 器,通过容器来实现对象组件的装配和管理。所谓的“控制反转”概念就是对组件对象控制权的转 移,从程序代码本身转移到了外部容器。 DI : 依赖注入,在我们创建对象的过程中,把对象依赖的属性注入到我们的类中。
|
负载均衡 前端开发 安全
BFE 初探
BFE 初探
336 9
|
JavaScript
Vue2进度条(Progress)
这篇文章介绍了如何在Vue 3框架中创建一个可自定义设置的进度条组件,包括进度条的宽度、当前进度、线条宽度和是否显示进度信息等属性。
570 2
Vue2进度条(Progress)
|
存储 JSON 测试技术
GAIA: 一个严苛的智能体基准 简要概括
目前有 乱糟糟的一堆 规划策略,所以我们选择了一个相对简单的预先计划工作流程。每隔 N 步,我们生成两件事情: • 我们已知或可以从上下文中推导出的事实摘要和需要发现的事实 • 基于新观察和上述事实摘要,逐步制定解决任务的计划 可以调整参数 N 以在目标用例中获得更好的性能: 我们为管理智能体选择了 N=2,为网页搜索智能体选择了 N=5。 一个有趣的发现是,如果我们不提供计划的先前版本作为输入,得分会提高。直观的解释是,LLM 通常对上下文中任何相关信息有强烈的偏向。如果提示中存在先前版本的计划,LLM 可能会大量重复使用它,而不是在需要时重新评估方法并重新生成计划。 然后,将事实摘要和计划
444 1
|
Kubernetes 关系型数据库 API
实时计算 Flink版产品使用问题之连接的PG表长时间无数据写入,WAL日志持续增长,该如何解决
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
Android开发
AutoX——当Android中clickable属性显示为false,实际可点击的布局如何处理
AutoX——当Android中clickable属性显示为false,实际可点击的布局如何处理
231 0
|
传感器 存储 缓存
|
开发框架 .NET API
.NET Core 和 .NET 标准类库项目类型有什么区别?
在 Visual Studio 中,可创建三种类库:.NET Framework、.NET Standard 和 .NET Core。.NET Standard 是规范,确保跨.NET实现的API一致性,适用于代码共享。.NET Framework 用于特定技术,如旧版支持。.NET Core 库允许访问更多API但限制兼容性。选择取决于兼容性和所需API:需要广泛兼容性时用.NET Standard,需要更多API时用.NET Core。.NET Standard 替代了 PCL,促进多平台共享代码。
240 0
|
数据可视化 Python
Python中的等值线平滑处理技术
Python中的等值线平滑处理技术
461 2
|
编解码 前端开发 UED
【专栏:HTML与CSS实践篇】HTML与CSS在电商网站中的应用
【4月更文挑战第30天】本文探讨了HTML和CSS在电商网站中的关键作用。HTML作为基础结构,定义网页内容和布局,用于页面布局、内容展示和表单处理;而CSS则负责样式设计和美化,包括响应式设计、交互效果和模块化,两者结合创建出功能齐全、视觉吸引力强的在线购物环境,提升用户体验。
294 2