小工具知识网

当前位置: 首页 > 行业知识 > C++牛客小白月赛题目分享(1)生不逢七,交换数字,幻兽帕鲁

行业知识

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 

上一篇:平台服务器怎么查询?

下一篇:试卷打印怎么分页?