#CS41015. 阅读程序10-数论15
阅读程序10-数论15
阅读程序
注意:切勿用电脑直接运行代码得出答案,请用大脑+笔+纸运行代码答题,否则是在浪费你的时间。
第10节:数论
第15题【NOIP】2009
#include <iostream>
using namespace std;
int main()
{
int n,m,i,j,p,k;
int a[100],b[100];
cin >> n >> m;
a[0]=n;i=0;p=0;k=0;
do{
for (j=0;j<i;j++)
if (a[i]==a[j])
{
p=1;k=j;break;
}
if (p)break;
b[i]=a[i]/m;
a[i+1]=a[i]%m*10;
i++;
}while (a[i]!=0);
cout << b[0] << ".";
21 for (j=1; j<k; j++)cout << b[j];
22 if (p)cout << "(";
23 for (j=k;j<i;j++)cout << b[j];
24 if (p)cout << ")";
25 cout << endl;
26 return 0;
}
●判断题
(1)输人的m可以为任意自然数
{{ select(15-1) }}
- 正确
- 错误
(2)输入-1 2,会输出-0.5
{{ select(15-2) }}
- 正确
- 错误
(3)输人1 2时,程序会输出0.(5)
{{ select(15-3) }}
- 正确
- 错误
(4)输入0 1时,程序会输出0。
{{ select(15-4) }}
- 正确
- 错误
●选择题
(5)输入5 13,输出为 ( )。
{{ select(15-5) }}
- 0.(384615)
- 0
- 18
- 8
(8)删去下列哪一行后,用(5)中的输人运行代码后输出结果发生改变?()
{{ select(15-6) }}
- 25
- 26
- 21
- 24