行业知识
C++牛客小白月赛题目分享(1)生不逢七,交换数字,幻兽帕鲁
2026-11-01 19:13:31
来源:互联网转载
目录
1.前言
2.三道题目
1.生不逢七
1.题目描述
2.输入描述:
3.输出描述:
4.示例:
5.题解:
2.交换数字
1.题目描述:
2.输入描述:
编辑
3.输出描述:
4.示例:
5.题解:
3.幻兽帕鲁
1.题目描述:
2.输入描述:
3.输出描述:
4.示例:
5.题解:
3.小结
1.前言
今天小蒟蒻为大家分享牛客小白月赛93部分题目的题解,考了蛮多高精度滴~,一共三道题,希望你能对大家有所帮助~
2.三道题目
1.生不逢七
1.题目描述
睡前游戏中最简单又最好玩的游戏就是这个啦!
该游戏规则为:多名玩家轮流报数,当要报的数字中含有 7或者是 7 的倍数时(例如 37,49),不能将该数报出来,要换一种提前规定好的方式报数,当一个人报错或者报慢了这个人就输了。我们认为玩家是围成一圈进行游戏的,第 n 个人报完数之后,会轮到第 1 个人报数。
现在告诉你玩家的总人数以及你上一个人报的数(用数字表示,即便这个数含有 7 或者是 7 的倍数),你需要预测接下来 k 轮你要报的数字,当你需要报的数字含有 7 或者是 7 的倍数时,你需要输出字符 p。
2.输入描述:
3.输出描述:
4.示例:
5.题解:
#include#includeusing namespace std;int t=0;int n=0,a=0,k=0;int func2(int y1){ if(y1%7==0)return 0; while(y1){ if(y1%10==7)return 0; y1=y1/10; } return 1;}void func1(int x,int y,int z){ while(z--){ int flag=func2(y); if(flag==0)printf("p "); else printf("%d ",y); y=y+x; }}int main(){scanf("%d",&t); while(t--){ scanf("%d %d %d",&n,&a,&k); func1(n,a+1,k); printf("\n"); }return 0;} 这道题作为签到题,比平时的只需要几个语句的就可以输出的要难上一点,但也是单纯的模拟,只是本人写的代码需要优化的仍有很多,所以显得很长。
这道题整体思路如下:先按照题意中的报号顺序推出自己每一次的号(第一次的号只需要+1,后面的号码1需要加上组内总人数),再判断是否可以%7或者是否含7即可,最后输出。
2.交换数字
1.题目描述:
2.输入描述:
3.输出描述:
4.示例:
5.题解:
#include#include#includeusing namespace std;char a[200005],b[200005];int n;long long sum1=0,sum2=0;int main(){ scanf("%d%s%s",&n,&a,&b); for(int i=0;ib[i])swap(a[i],b[i]); } for(int j=0;j> n >> m; while (m -- ) { long long x , y = 0; cin >> x; for (int i = 0 ; i
上一篇:平台服务器怎么查询?
下一篇:试卷打印怎么分页?