目录
2014 年 10 月 22 日,微软宣布将诺基亚手机品牌改为“Microsoft Lumia”,为诺基亚手机品牌写下休止符;同年的 11 月 5 日,诺基亚正式更名,官方的新浪微博账号同步发声,所有 Lumia 手机的 Logo 都将由“Nokia”变为“Microsoft”,并且所有官方社交媒体、渠道也都遵循这一改名规则。
微软从哪一年开始就再也没有了更新 Lumia 的动作?
| A | 2015 年 |
| B | 2016 年 |
| C | 2017 年 |
| D | 2018 年 |
答案:2017 年
1990 年 11 月 28 日,钱天白代表中国人在 SRT(Internet 的前身)首次登记域名 .cn,标志着中国在 1987 年引入互联网之后又到达了一个新阶段;自 2012 年 5 月 29 日起,自然人已经可以申请注册 .cn 域名,其主域名服务器设在中国境内。
在域名层次结构中,cn 属于是哪一档的域名呢?
| A | 三级域名 |
| B | 二级域名 |
| C | 顶级域名 |
| D | 超级域名 |
答案:顶级域名
Windows XP 是微软公司生产的用于个人电脑的 32 位和 64 位操作系统系列,于 2001 年 10 月 25 日正式发布。Win XP 的默认桌面是一张纳帕县郊外的风景照片,照片中包括了高低起伏的绿山及有层积云和卷云的蓝天,承载了无数开发者的回忆。
Windows XP 最初的代号是什么?
| A | Whistler(惠斯勒) |
| B | Zeus(宙斯) |
| C | Odyssey(奥德赛) |
| D | Janus(双面神) |
答案:Whistler(惠斯勒)
题目描述
小k不仅擅长数学,也擅长编码。有一种编码方式如下:
首先写下文本中间的字符(如果文本中的字符编号为1..n,那么中间一个字符的编号为(n+1)DIV 2,其中DIV为整除的意思),然后 用这个方法递归地写下左边,最后再按这个方法递归地写下右边。例如,单词为orthography则其编码为gtorhoprahy。即先写中间的那个字符g,再对ortho递归地编码,最后将raphy递归地编码就得到了gtorhoprahy。
给一个原来的文本,求出编码后的 文本。
输入
一行字符,表示原始的文本内容。
输出
一行字符,表示编码后的文本内容。
样例
输入
orthography
输出
gtorhoprahy
提示
100%的数据,字符串长度不超过20000
以下程序实现了这一功能,请你填补空白处的内容:
- #include
- #include
- using namespace std;
- void shuchu(char *a, int m, int n)
- {
- if (n <= 0 || m <= 0 || m > n)
- {
- return;
- }
- else
- {
- cout << a[(m + n) / 2];
- _______________________;
- }
- }
- int main()
- {
- char a[20000];
- char b[20001];
- cin >> a;
- for (int i = 0; i < 20000; i++)
- {
- b[i + 1] = a[i];
- }
- int n = strlen(a);
- shuchu(b, 1, n);
- return 0;
- }
| A | shuchu(a, m, (m + n) / 2 + 1); shuchu(a, (m + n) / 2 + 1, n); |
| B | shuchu(a, m, (m + n) / 2 - 1); shuchu(a, (m + n) / 2, n); |
| C | shuchu(a, m, (m + n) / 2 - 1); shuchu(a, (m + n) / 2 - 1, n); |
| D | shuchu(a, m, (m + n) / 2 - 1); shuchu(a, (m + n) / 2 + 1, n); |
答案:
- shuchu(a, m, (m + n) / 2 - 1);
- shuchu(a, (m + n) / 2 + 1, n);
求10-100之间个位数为7的质数
以下程序实现了这一功能,请你填补空白处内容:
- #include
- int isp(int n)
- {
- int i;
- if (n<2)
- return 0;
- for (i=2;i*i<=n;++i)
- {
- _______________;
- }
- return 1;
- }
- int main()
- {
- int i=17;
- while (i<=100)
- {
- if (isp(i))
- printf("%d ",i);
- i+=10;
- }
- printf("\n");
- return 0;
- }
| A | if (n%i==0) return 0; |
| B | if (n/i==0) return 1; |
| C | if (n%i==0) return 1; |
| D | if (n/i==0) return 0; |
答案:
- if (n%i==0)
- return 0;
编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量(https://baike.baidu.com/item/%E6%B1%89%E6%98%8E%E9%87%8D%E9%87%8F))。
提示:
请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。
在 Java 中,编译器使用二进制补码(https://baike.baidu.com/item/二进制补码/5295284)记法来表示有符号整数。因此,在上面的 示例 3 中,输入表示有符号整数 -3。
示例 1:
输入:00000000000000000000000000001011
输出:3
解释:输入的二进制串
00000000000000000000000000001011 中,共有三位为 '1'。
示例 2:
输入:00000000000000000000000010000000
输出:1
解释:输入的二进制串 00000000000000000000000010000000 中,共有一位为 '1'。
示例 3:
输入:11111111111111111111111111111101
输出:31
解释:输入的二进制串 11111111111111111111111111111101 中,共有 31 位为 '1'。
提示:
输入必须是长度为 32 的 二进制串 。
进阶:
如果多次调用这个函数,你将如何优化你的算法?
| A | #include using namespace std; class Solution { public: int hammingWeight(uint32_t n) { int count = 0; uint32_t res = 1; for (int i = 0; i == 32; i++) { if (res | n) { count++; } n >>= 1; } return count; } }; |
| B | #include using namespace std; class Solution { public: int hammingWeight(uint32_t n) { int count = 0; uint32_t res = 1; for (int i = 0; i < 32; i++) { if (res & n) { count++; } n >>= 1; } return count; } }; |
| C | #include using namespace std; class Solution { public: int hammingWeight(uint32_t n) { int count = 0; uint32_t res = 1; for (int i = 0; i == 32; i++) { if (res & n) { count++; } n >>= 1; } return count; } }; |
| D | #include using namespace std; class Solution { public: int hammingWeight(uint32_t n) { int count = 0; uint32_t res = 1; for (int i = 0; i < 32; i--) { if (res & n) { count++; } n >>= 1; } return count; } }; |
答案:
- #include
- using namespace std;
- class Solution
- {
- public:
- int hammingWeight(uint32_t n)
- {
- int count = 0;
- uint32_t res = 1;
- for (int i = 0; i < 32; i++)
- {
- if (res & n)
- {
- count++;
- }
- n >>= 1;
- }
- return count;
- }
- };