描述:
一条长廊里依次装有n(1 ≤ n ≤ 65535)盏电灯,从头到尾编号1、2、3、…n-1、n。每盏电灯由一个拉线开关控制。开始,电灯全部关着。有n个学生从长廊穿过。第一个学生把号码凡是1的倍数的电灯的开关拉一下;接着第二个学生把号码凡是2的倍数的电灯的开关拉一下;接着第三个学生把号码凡是3的倍数的电灯的开关拉一下;如此继续下去,最后第n个学生把号码凡是n的倍数的电灯的开关拉一下。n个学生按此规定走完后,长廊里电灯有几盏亮着。
运行时间限制: 无限制
内存限制: 无限制
输入:
电灯(学生)的数量,例如:2
输出:
亮着的电灯数量,如上述输入返回:1
样例输入:
2
样例输出:
1
答案提示:
#include
#include
using namespace std;
int main()
{
longnum;
scanf("%ld",&num);
intresult=0;
for(longi=1;i<=num;i++)
{
longtemp=0;
for(longj=1;j<=i;j++)
{
if(i%j==0)
temp++;
}
if(temp%2!=0)
result++;
}
printf("%ld\n",result);
return0;
}
描述:
实现一个简易电话号码本的程序,存储电话号码,可以通过名字获取电话号码,同时也可以通过电话号码获取对应的名字。
说明:
1、名字由英文字母组成,区分大小写。1<=字母数量<=20
2、名字和电话号码一一对应
3、名字和电话号码均唯一
4、电话号码长度n,由数字组成。1<=n <=20
5、电话号码本中最大的记录条数为200
运行时间限制: 无限制
内存限制: 无限制
输入:
输入命令字如下:
save 保存姓名和电话号码 示例:"savetom 13888888888"
getName 通过电话号码获取名字 示例:"getName13888888888"
getPhoneNum 通过名字获取电话号码 示例:"getPhoneNumtom"
delete 删除姓名对应的存储记录 示例:"deletetom"
count 获取电话号码本存储的总人数 示例:"count"
clear 清除电话号码本 示例:"clear"
注意:
输入时每行只有一条命令(比如:C语言可使用gets函数获取一行输入命令)。
命令中的多个单词间使用一个空格符隔开,如上面示例。
输出:
1、若输入不符合要求(如:名字中含有非英文字母,或其他认为错误的输入)均需输出"error"。
2、每条输出后使用换行符隔开(见后面样例)。
输出要求:
1)保存电话号码本,保存成功后要求回显。例如输入"save tom 13888888888",则输出为"tom13888888888"。同时保存对应的名字和电话号码。如名字或电话号码存在,则输出"error"。如存储超过大小限制则输出"error"。
2)通过电话号码获取名字。例如输入"getName13888888888"则输出为"tom"。如无对应的电话号码,则输出"error"
3)通过名字获取电话号码。例如输入"getPhoneNumtom",则输出为"13888888888"。如无对应的名字,则输出"error"
4)删除对应的存储记录。例如当前存储的记录为"tom13888888888",输入"delete tom",则输出"ok"。输入"delete jack",则输出"error"。
5)获取电话号码本存储的总人数。例如当前存储两个电话号码。输入"count",则输出为"2"。
6)清除电话本。电话号码本记录清除,无需输出。
样例输入:
save zhangsan 11111111
count
save lisi 22222222
count
getName 11111111
样例输出:
zhangsan 11111111
1
lisi 22222222
2
zhangsan
答案提示:
描述:
计算多个(最多100个,最少一个)正整数(正整数的范围是:1~20000)的最大公约数。公约数是指:能被所有的整数整除的整数。
运行时间限制: 无限制
内存限制: 无限制
输入:
第一个数字是整数的数量,后面是每个整数的具体值;
备注:读取的时候,不需要读入换行符'\n'
输出:
最大公约数
备注:输出的时候,不需要输出换行符'\n'
样例输入:
4
5 10 15 20
样例输出:
5
答案提示:
#include
#include
#define MAX_NUM 100
int gcd(int a,int b)
{
if(a==0)
{
returnb;
}else
{
returngcd(b % a,a);
}
}
int main()
{
intn=0;
intiCount=0;
intin[MAX_NUM];
intout=0;
scanf("%d",&n);
for(iCount=0;iCount
描述:
实现一个开放的书名检索库,库中存储了若干个书名
用户可以:
1、通过接口加入书名
2、指定搜索条件搜索库中符合条件的书名
重要格式说明
单词:
由小写英文字母组成,不含其它字符
书名:
由一个或多个单词组成
当包含多个单词时,单词间用一个空格分隔
第一个单词前和最后一个单词后没有空格
若只包含一个单词,则该单词前后均无空格
搜索条件:
1、由一个或多个不重复的关键字组成,每个关键字是一个单词。
2、当包含多个关键字时,关键字间用一个空格分隔;第一个关键字前和最后一个关键字后没有空格
3、若只包含一个关键字,则该关键字前后均无空格
4、搜索包含指定关键字的书名,输出不需要排序(不影响自动阅卷)
5、若搜索条件包含多个关键字,它们之间是“与”的关系,即书名中要同时包含所有指定的关键字(但不限制关键字在书名中出现的位置和顺序)
6、必须是“全词匹配”,即书名中的单词和关键字完全一致,例如:关键字为man,书名中包括单词woman,则不认为该书名符合搜索要求
输出说明:
1.如果没有查找到书名,那么输出一对双引号: ""
2.如果存在多行输出(查找到多本书名),那么输出结果按字典序排序
举例
输入:
AddBooks
"high performance mysqlsecondedition"
"writing gnu emacs extensions"
"web client programming withperlautomating tasks"
"net test automation recipes a problemsolution approach"
"photoreading"
"pro wfwindows workflow in net"
"aspect oriented analysis and designthe theme approach"
SearchBooks
"extensions gnu"
End
输出:
"writing gnu emacs extensions"
输入:
AddBooks
"high performance mysqlsecondedition"
"writing gnu emacsextensions"
"web client programming withperlautomating tasks"
"net test automation recipes a problemsolution approach"
"photoreading"
"pro wfwindows workflow in net"
"aspect oriented analysis and designthe theme approach"
SearchBooks
"approach"
End
输出:
"aspect oriented analysis and designthe theme approach"
"net test automation recipes a problemsolution approach"
规格
0<=书名个数范围<=200
1<=书名所含单词个数<=10
1<=单词所含字母数<=50
1<=搜索条件中关键字个数<=3
运行时间限制: 无限制
内存限制: 无限制
输入:
AddBooks
[书名列表:每行一个书名,书名在双引号中]
SearchBooks
[关键字:多个关键字用空格分隔,关键字在双引号中]
End
输出:
1. 查找到的书名,查找到多个书名,以多行显示,书名在双引号内
2. 如果没有查找到书名,那么输出:""
3. 如果存在多行输出(查找到多本书名),那么输出结果按字典序排序
如下:
"aspect oriented analysis and design the theme approach"
"net test automation recipes a problem solution approach"
字母a 在字典序中排在字母n前面,所以显示的时候"aspect oriented analysis and design the theme approach"排在前面
如果一个字符相等,那么顺序比较后面的字符,直到找到一个字符不相等为止
样例输入:
AddBooks
"high performance mysqlsecondedition"
"writing gnu emacs extensions"
"web client programming withperlautomating tasks"
"net test automation recipes a problemsolution approach"
"photoreading"
"pro wfwindows workflow in net"
"aspect oriented analysis and designthe theme approach"
SearchBooks
"extensions gnu"
End
样例输出:
"writing gnu emacs extensions"
8
说明:参考网上有关递归的方法写的,提交后个测试用例不通过
#include
using namespace std;
int fun(int m,int n)
{
if(m<0)
return 0;
if(m==0||n==1)
return 1;
return fun(m-n,n)+fun(m,n-1);
}
int main(int argc,char *argv[])
{
int m,n,k;
cin>>m>>n;
k= fun(m,n);
cout<
下面的程序也是参考网上的程序编写的,也有测试用例不通过
#include
#include
#include
using namespace std;
int solution(int n, int k, int min) //将n分为k个整数 最小的大于等于min,最大不超过B
{
if(n < min) return 0;//当剩下的 比min小,则不符合要求 返回0
if(k == 1) return 1;
int sum = 0;
for(int t = min; t <= n; t++)
{
sum += solution(n-t, k-1, t);
}
return sum;
}
int main()
{
int h,f;
cin>>h>>f;
int result=solution(h,f,0);
printf("%d\n",result);
return 0;
}
675
说明:程序提交正确
#include
#include
#include
using namespace std;
int main()
{
string str;
unsigned long result=0;
int flag;
cin>>str;
if(str.size()>=2)
{
if(str[0]=='0')
{
if(str[1]=='v'||str[1]=='V')
flag=9;
else if(str[1]=='w'||str[1]=='W')
flag=11;
else
{
cout<<"-1"<2)
{
for(int i=2;i'8')||(str[i]<'0'))
{
cout<<"-1"<