niusouti.com

阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。【说明】找一个最小的自然数,使它等于不同的两组三个自然数的三次幂之和,即找最小的x,使得:x=a*a*a+b*b*b+c*C*c+d*d*d+e*e*e+f*f*f,其中,a、b、c、d、e、f者是是自然数,a≤b≤C≤d≤e≤f; [a,b,c]!=[d,e,f)【C++程序】include<stdio.h>define N 100void main (){int i,j,il,ih,i0,j0,k0,il,j 1,k1;int j1[N],

题目

阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。

【说明】

找一个最小的自然数,使它等于不同的两组三个自然数的三次幂之和,即找最小的x,使得:x=a*a*a+b*b*b+c*C*c+d*d*d+e*e*e+f*f*f,其中,a、b、c、d、e、f者是是自然数,a≤b≤C≤d≤e≤f; [a,b,c]!=[d,e,f)

【C++程序】

include<stdio.h>

define N 100

void main ()

{

int i,j,il,ih,i0,j0,k0,il,j 1,k1;

int j1[N],jh[N];/*第i层平面的行的变化范围,自jl[i]至jh[i]*/

int k[N][N];/*第i层平面中,对应行j,当前的列号值为k[i][j]*/

int p[N], min;/*p[i]=i*i*i*/

i1=1;j1=1;k1=1;/*首先只局限下三角棱体的顶点*/

i1=1;ih=1;/*预置i的变化范围初值i1<=i<=ih*/

j1[1]=1;jh[1]=1;/*对应i层平面的行的变化范围*/

k[i1][j1[i1>=1;/*第i层平面中,对应行的列的初值*/

p[1]=1;

do

{

min=p[i1]+p[j1]+p[k1];

i0=i1;j0=j1;k0=k1;

if ( i1==ih ) /*当前候选者在ih平面, 则ih增1*/

{

ih++;

(1);

/*为ih平面设定j的变化范围和对应k值*/

j1[ih]=1;jh[ih]=1;k[ih][1]=1;

}

if ( i1==i1&&j 1==i1&&k1==i1 )

i1++;/*在i1平面最下角点找到候选者,i1增1*/

else

{

if ( k1==1&&jh[i1]<i1 )

{/*在第一列找到候选者, i1平面的行的上界增1*/

(2);

k[i1][jh[i1>=1;

}

if( k1==j1&&j1[i1]<i1 )

else

(3);/*调整i1平面当前行的列号*/

}

i1=i1;/*预定最上平面的最小行的当前列为下一个候选者*/

j1=j1[i1];

k1=k[i1][j1];

for ( i=i1;i<=ih;i++ ) /*寻找最小值所在平面号、行号和列号*/

{

for ( j=j1[i];j<=jh[i];j++ )

if ( p[i]+p[j]+p[k[i][j><(4))

{

i1=i;j 1=j;k1=k[i][j];

}

}

}while ( p[i1]+p[j1]+p[k1]!=min&&(5));

if ( p[i1]+p[j1]+p[k1]==min )

printf ( "%4d=%2d^3+%d^3+%dA3=%2d^3+%d^3+%d^3\n",min,i0,j0,k0,i1,j1,k1 );

else printf ( "The %d is too small.\n",N );

}


相似考题
更多“阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。【说明】 找一个最小的自然数,使它等于不 ”相关问题
  • 第1题:

    阅读以下说明和c++码,将应填入(n)处的字名写在的对应栏内。

    [说明] 以下函数完成求表达式

    的值,请填空使之完成此功能。

    float sum ( float x )

    { float s=0.0;

    int sign = 1;

    (1);

    for(inti=1;(2); i+ +)

    {

    t=t*x;

    s=s+(3);

    sign = - sign;

    (4);

    }


    正确答案:float t =1.0; i< =100 - sign * i/( t + sign* i) return s
    float t =1.0; i< =100 - sign * i/( t + sign* i) return s

  • 第2题:

    阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。

    [说明]

    下面的流程图用于计算一个英文句子中最长单词的长度(即单词中字母个数)MAX。假设该英文句子中只含字母、空格和句点“.”,其中句点表示结尾,空格之间连续的字母串称为单词。

    [流程图]


    正确答案:(1)MAX←0 (2)←L+1 (3)MAX←L (4)≠ (5)L←0
    (1)MAX←0 (2)←L+1 (3)MAX←L (4)≠ (5)L←0 解析:本题用到的三个变量及其作用分别为:A,存放输入的一个字符;MAX,存放当前为止最长单词的长度;L,存放当前单同的长度。
    (1)使用变量MAX应先赋予初值,由上下文知其初值为0;
    (2)读取当前单词时,每读人一个字母,单词长度值L应增1;
    (3)当前单词长度L比MAX时,应更新MAX的值;
    (4)若当前字符不是句点,应当继续读取字符;
    (5)读取下一个单词前,应当重置L的值。

  • 第3题:

    阅读下列说明和C++-代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某发票(lnvoice)由抬头(Head)部分、正文部分和脚注(Foot)部分构成。现采用装饰(Decorator)模式实现打印发票的功能,得到如图5-1所示的类图。

    【C++代码】 #include using namespace std; class invoice{ public: (1){ cout<<"This is the content of the invoice!"<

    答案:
    解析:
    (1) virtual void printInvoice() (2) ticket->printInvoice() (3) Decorator::printInvoice() (4) Decorator::printInvoice() (5) &a
    【解析】

    试题分析
    1.Invoice类下,义虛函数,按类图,函数名是printInvoice
    2.前面定义对象名是ticket,那么在ticket不为空的时候调用函数printInvoice
    3.这部分填写发票的抬头,看类图应该实现函数printInvoice ,Decorator装饰模式使用该方法
    4.这部分是发票的脚注,看类图应该实现函数printlnvoice,Decorator装饰模式使用该方法
    5.FootDecorator a(NULL) ;脚步的装饰参数是a,调用a参数,

  • 第4题:

    阅读下列程序说明和C++程序,把应填入其中(n)处的字句,写在对应栏内。

    【说明】

    阅读下面几段C++程序回答相应问题。

    比较下面两段程序的优缺点。

    ①for (i=0; i<N; i++ )

    {

    if (condition)

    //DoSomething

    else

    //DoOtherthing

    }

    ②if (condition) {

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

    //DoSomething

    }else {

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

    //DoOtherthing

    }


    正确答案:程序1优点:程序简洁;缺点:多执行了N-1次逻辑判断并且程序无法循环“流水”作业使得编译器无法对循环进行优化处理降低了效率。 程序2优点:循环的效率高;缺点:程序不简洁。
    程序1优点:程序简洁;缺点:多执行了N-1次逻辑判断,并且程序无法循环“流水”作业,使得编译器无法对循环进行优化处理,降低了效率。 程序2优点:循环的效率高;缺点:程序不简洁。

  • 第5题:

    试题三(共 15 分)

    阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。


    正确答案:

  • 第6题:

    阅读下列说明和?C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
    【说明】
    阅读下列说明和?Java代码,将应填入?(n)?处的字句写在答题纸的对应栏内。
    【说明】
    某快餐厅主要制作并出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种
    类可能不同,但其制作过程相同。前台服务员?(Waiter)?调度厨师制作套餐。现采用生成器?(Builder)?模式实现制作过程,得到如图?6-1?所示的类图。






    答案:
    解析: