1.选取奇数个数的数字
输入一行数字,其中有且只有一个数字出现了奇数次,其余数字均出现偶数次,请找出该数字并输出
输入信息:
一串连续的数字,最长长度100个字符
输出信息:
出现奇数次的数
样例输入:
1 | 589698956 |
样例输出:
1 | 9 |
思路:更好的做法 使用^=对输入数据逐个处理。使偶数个数的值两两异或消除,剩余一个奇数个数的值,将其输出。0^a=a a^a^b=b
代码如下:
1 | #include <stdio.h> |
2.输入一个正整数,输出其平方根(不可用使用数学类算法库)
给出年分m和一年中的第n天,算出第n天是几月几号。
输入信息:
小于999999999的正整数
输出信息:
输入数据的平方根,只取整数部分
样例输入:
1 | 9 |
样例输出:
1 | 3 |
思路:二分法求解
代码如下:
1 | #include <bits/stdc++.h> |
3.有效的括号
输入一行只包括 ‘(‘,’)’,’{‘,’}’,’[‘,’]’ 的字符串,判断字符串是否有效。
输入信息:
一行字符串,其中只有若干大括号,中括号和小括号
输出信息:
若输入括号匹配正确,则输出yes,否则输出no
样例输入:
1 | ({[}]) |
样例输出:
1 | no |
思路:堆栈求解
代码如下:
1 | #include <string> |
4.求众数
输入一行若干数字组成的字符串,输出众数(即出现次数大于总个数一半的数)
输入信息:
一行字符串,包含若干数字,数字之间用空格隔开,总长度不超过128字节
输出信息:
找到的众数
样例输入:
1 | 5 9 6 5 6 5 5 4 5 |
样例输出:
1 | 5 |
代码如下:
1 | #include <stdio.h> |
5.中文读正整数
输入信息:
一个正整数,小于等于9位长度
输出信息:
中文读法
样例输入:
1 | 12345 |
样例输出:
1 | 一万二千三百四十五 |
代码如下:
1 | #include <bits/stdc++.h> |