#CS41005. 阅读程序10-数论5

阅读程序10-数论5

阅读程序

注意:切勿用电脑直接运行代码得出答案,请用大脑+笔+纸运行代码答题,否则是在浪费你的时间。

第10节:数论

第5题【NOIP】2012

#include <iostream>
using namespace std;
int n, i, ans;
int gcd(int a, int b)
{
    if (a % b == 0) return b;
    else
        return gcd(b, a%b);
}
int main()
{
12  cin>>n;
    ans = 0;
    for (i = 1; i <= n; i++)
        if (gcd(n,i) == i)
            ans++;
    cout<<ans<<endl;
}

●判断题

(1)将n定义为double类型,程序的输出结果不变。

{{ select(5-1) }}

  • 正确
  • 错误

(2)输入一个正整数,输出结果不可能不大于1

{{ select(5-2) }}

  • 正确
  • 错误

(3)输人100000000000,输出结果为144。

{{ select(5-3) }}

  • 正确
  • 错误

(4)第12行可改为scanf(“%d”,&n);

{{ select(5-4) }}

  • 正确
  • 错误

●选择题

(5)输人120.输出为()

{{ select(5-5) }}

  • 15
  • 16
  • 18
  • 14

(6)该算法时间复杂度为()

{{ select(5-6) }}

  • O(n)
  • O(nlogn)
  • O(n)(\sqrt{n})
  • O(n2n^2)