首页 > 试题广场 >

下面程序的功能是把316表示为两个加数的,使两个加数分别能被

[单选题]
下面程序的功能是把316表示为两个加数的,使两个加数分别能被13和11整除,在while()处应填入的选项是
#include <iostream>
using namespace std;

int main() {
    int i = 0, j, k;
    do {
        i++;
        k = 316 - 13 * i;
    } while ();
    j = k / 11;
    cout << "316 = 13 * " << i << " +11 * " << j;
    return 0;
}

  • k/11
  • k*11
  • k%11 != 0
  • k*11 == 0
推荐
有pp才有真相
核心:将316表示为 13*i+11*j; 
要得到11j,必然需要316-13i被11整除
while里面,一支循环到找到11的倍数为止

编辑于 2015-01-27 21:08:49 回复(0)
答案:选C
主要就是判断加数能不能被11和13整除,写成316 = 13*i + 11*j形式,循环体里面已经是13i了,所以while里面填k%11 == 0判断是否k能被11整除即可
编辑于 2015-01-27 11:07:51 回复(0)
结果:
#include<iostream>
using namespace std;
int main()
{
   int i=0,j,k;
     do{  
              i++;
	      k=316-i*13;
      }while (k%11!=0);
	 j=k/11;
	 cout<<"316="<<i<<"*13+"<<j<<"*11"<<endl;
}


编辑于 2017-05-09 20:01:32 回复(0)
选项明明错了 不应该是== 0 吗!!!
发表于 2016-07-21 11:18:41 回复(4)

在给定的程序中,我们需要找到两个加数,使得316减去13的倍数可以被11整除。为了实现这一目标,在while()处应填入选项C,即k % 11 != 0。

这是因为k % 11表示k除以11的余数。当k不能被11整除时(余数不等于0),说明316减去13的倍数不能被11整除。因此,我们需要继续递增i的值,寻找满足条件的加数组合。一旦找到满足条件的加数组合,即k能够被11整除(余数为0),则退出循环,并计算出j = k / 11,即第二个加数的值。

发表于 2023-10-17 15:29:35 回复(0)
选项错了,应该是==0不是!=0吧
发表于 2023-06-01 16:14:40 回复(0)
<p>求余不为0就继续循环</p><p>到求余为0就停止 即终止条件</p>
发表于 2020-10-30 11:47:11 回复(0)
发表于 2019-10-29 19:33:42 回复(0)
我这里为什么显示是while();难道是我的浏览器出错了吗?
发表于 2019-08-22 21:08:48 回复(0)