L1-081 今天我要赢
2018 年我们曾经出过一题,是输出“2018 我们要赢”。今年是 2022 年,你要输出的句子变成了“我要赢!就在今天!”然后以比赛当天的日期落款。
输入格式:
本题没有输入。
输出格式:
输出分 2 行。在第一行中输出
I'm gonna win! Today!
,在第二行中用年年年年-月月-日日
的格式输出比赛当天的日期。已知比赛的前一天是2022-04-22
。输入样例:
无
输出样例(第二行的内容要你自己想一想,这里不给出):
I'm gonna win! Today! 这一行的内容我不告诉你…… 你要自己输出正确的日期呀~
#include <iostream>
using namespace std;
#include<algorithm>
#include<cmath>
int n,m;int main()
{printf("I'm gonna win! Today!\n");printf("2022-04-23\n");return 0;
}
L1-082 种钻石
2019年10月29日,中央电视台专题报道,中国科学院在培育钻石领域,取得科技突破。科学家们用金刚石的籽晶片作为种子,利用甲烷气体在能量作用下形成碳的等离子体,慢慢地沉积到钻石种子上,一周“种”出了一颗 1 克拉大小的钻石。
本题给出钻石的需求量和人工培育钻石的速度,请你计算出货需要的时间。
输入格式:
输入在一行中给出钻石的需求量 N(不超过 107 的正整数,以
微克拉
为单位)和人工培育钻石的速度 v(1≤v≤200,以微克拉/天
为单位的整数)。输出格式:
在一行中输出培育 N 微克拉钻石需要的整数天数。不到一天的时间不算在内。
输入样例:
102000 130
输出样例:
784
#include <iostream>
using namespace std;
#include<algorithm>
#include<cmath>
int n,v;int main()
{cin>>n>>v;cout<<n/v;//"/"自动向下取整return 0;
}
L1-083 谁能进图书馆
为了保障安静的阅读环境,有些公共图书馆对儿童入馆做出了限制。例如“12 岁以下儿童禁止入馆,除非有 18 岁以上(包括 18 岁)的成人陪同”。现在有两位小/大朋友跑来问你,他们能不能进去?请你写个程序自动给他们一个回复。
输入格式:
输入在一行中给出 4 个整数:
禁入年龄线 陪同年龄线 询问者1的年龄 询问者2的年龄
这里的
禁入年龄线
是指严格小于该年龄的儿童禁止入馆;陪同年龄线
是指大于等于该年龄的人士可以陪同儿童入馆。默认两个询问者的编号依次分别为1
和2
;年龄和年龄线都是 [1, 200] 区间内的整数,并且保证陪同年龄线
严格大于禁入年龄线
。输出格式:
在一行中输出对两位询问者的回答,如果可以进就输出
年龄-Y
,否则输出年龄-N
,中间空 1 格,行首尾不得有多余空格。在第二行根据两个询问者的情况输出一句话:
- 如果两个人必须一起进,则输出
qing X zhao gu hao Y
,其中X
是陪同人的编号,Y
是小孩子的编号;- 如果两个人都可以进但不是必须一起的,则输出
huan ying ru guan
;- 如果两个人都进不去,则输出
zhang da zai lai ba
;- 如果一个人能进一个不能,则输出
X: huan ying ru guan
,其中X
是可以入馆的那个人的编号。输入样例 1:
12 18 18 8
输出样例 1:
18-Y 8-Y qing 1 zhao gu hao 2
输入样例 2:
12 18 10 15
输出样例 2:
10-N 15-Y 2: huan ying ru guan
#include <iostream>
using namespace std;
#include<algorithm>
#include<cmath>
int limit1,limit2;
int a,b;
//1.两个人都不去:都小于1
//2.两个人都去:都超过1,或者一个大于2,一个小于1
//3.只有一个人可以去:一个超过1但小于2,一个小于1
int main()
{cin>>limit1>>limit2>>a>>b;//两个人都不去if(a<limit1&&b<limit1){cout<<a<<"-N "<<b<<"-N"<<endl;cout<<"zhang da zai lai ba";}//两个人都去if(a>=limit1&&b>=limit1){cout<<a<<"-Y "<<b<<"-Y"<<endl;cout<<"huan ying ru guan";}if(a>=limit2&&b<limit1){cout<<a<<"-Y "<<b<<"-Y"<<endl;cout<<"qing 1 zhao gu hao 2";}if(b>=limit2&&a<limit1){cout<<a<<"-Y "<<b<<"-Y"<<endl;cout<<"qing 2 zhao gu hao 1";}//只有一个人去if(a<limit1&&(b>=limit1&&b<limit2)){cout<<a<<"-N "<<b<<"-Y"<<endl;cout<<"2: huan ying ru guan";}if(b<limit1&&(a>=limit1&&a<limit2)){cout<<a<<"-Y "<<b<<"-N"<<endl;cout<<"1: huan ying ru guan";}return 0;
}
L1-084 拯救外星人
你的外星人朋友不认得地球上的加减乘除符号,但是会算阶乘 —— 正整数 N 的阶乘记为 “N!”,是从 1 到 N 的连乘积。所以当他不知道“5+7”等于多少时,如果你告诉他等于“12!”,他就写出了“479001600”这个答案。
本题就请你写程序模仿外星人的行为。
输入格式:
输入在一行中给出两个正整数 A 和 B。
输出格式:
在一行中输出 (A+B) 的阶乘。题目保证 (A+B) 的值小于 12。
输入样例:
3 6
输出样例:
362880
#include <iostream>
using namespace std;
#include<algorithm>
#include<cmath>
int a,b;
//调用函数
int product(int c){if(c==1)return 1;else return c*product(c-1);
}
int main()
{cin>>a>>b;int c=a+b;long long x=product(c);cout<<x;return 0;
}
L1-085 试试手气【难度系数******】
我们知道一个骰子有 6 个面,分别刻了 1 到 6 个点。下面给你 6 个骰子的初始状态,即它们朝上一面的点数,让你一把抓起摇出另一套结果。假设你摇骰子的手段特别精妙,每次摇出的结果都满足以下两个条件:
- 1、每个骰子摇出的点数都跟它之前任何一次出现的点数不同;
- 2、在满足条件 1 的前提下,每次都能让每个骰子得到可能得到的最大点数。
那么你应该可以预知自己第 n 次(1≤n≤5)摇出的结果。
输入格式:
输入第一行给出 6 个骰子的初始点数,即 [1,6] 之间的整数,数字间以空格分隔;第二行给出摇的次数 n(1≤n≤5)。
输出格式:
在一行中顺序列出第 n 次摇出的每个骰子的点数。数字间必须以 1 个空格分隔,行首位不得有多余空格。
输入样例:
3 6 5 4 1 4 3
输出样例:
4 3 3 3 4 3
样例解释:
这 3 次摇出的结果依次为:
6 5 6 6 6 6 5 4 4 5 5 5 4 3 3 3 4 3
#include <iostream>
using namespace std;
#include<algorithm>
#include<cmath>int main()
{//创建二维数组,列用下标表示筛子的数,具体值表示1/0即选过/未选过int arr[7][7]={0};//保证有下标6int num;for(int i=1;i<=6;i++){cin>>num;arr[i][num]=1;//标记每个骰子的某个数字已经骰过啦}int n;cin>>n;//次数while(n--){for(int i=1;i<=6;i++){//遍历每一个骰子for(int j=6;j>=1;j--){//因为要保证先使用数字最大的//遍历该骰子的这个数是否骰过啦if(arr[i][j])continue;//如果已经骰过就换一个数字arr[i][j]=1;//标记用过啦if(n==0){if(i>1)cout<<" ";cout<<j;}break;//如果次数还没用完,则下一轮再骰}}}return 0;
}