编程俱乐部12月月赛总结

1. 冬至吃饺子

题目背景

今天是冬至日,是时候吃饺子了。今天中午,某学校大发善心说请所有同学在教学楼下集合,排成一横队,会免费发放饺子。当所有准备领取饺子的同学在楼下排好的时候,一位有强迫症的老师请所有的男同学站在所有女生的右边。我们已知每秒钟所有排在左边的男生会与他相邻的并且在右边的女生交换位置。问多少秒钟之后所有的男生会在所有的女生右边呢?
参与的同学人数不超过20000

题目描述

输入格式

本题无多次输入 M为男生。F为女生
输出格式 请输出所需要的秒数

输入输出样例

输入 MMFF
输出 3

思路:

对于最左边的女生,她需要的时间为她左边男生的个数,用m来记录男生的个数,若第二个女生与第一个女生相邻,那么该女生需要的时间为第一个女生所需时间加一,因为她会被第一个女生卡一下;若第二个女生与第一个女生不相邻,则她所需时间为m,即左侧男生的数量,以此类推,后面的女生所需时间为这两种情况的最大值,直到求出最后边的女生的时间,即为答案。

AC代码
#include <stdio.h>
#include <string.h>
int max(int a, int b)
{
    if(a > b)
        return a;
    else
        return b;
}
int main(void)
{
    char a[20005];
    int len, i, m = 0, ans = 0;
    scanf("%s", a);
    len = strlen(a);
    for(i = 0; i < len; i++)
    {
        if(a[i] == 'M')
            m++;
        if(a[i] == 'F' && m > 0)
            ans = max(ans + 1, m);
    }
    printf("%d", ans);
    return 0;
}

2.挑剔的挑剔

题目背景

有个人叫挑剔,他这个人非常的挑剔,这一天,挑剔的挑剔给你出了一道挑剔的题。

题目描述

给你一个数n,要你在[0, 1e9]的范围内找到一个素数m,使|m - n|最小且,挑剔是非常挑剔的,他还要求你找到的数m尽可能的小。

输入格式

输入一个t,之后t行,每行一个数n。

输出格式

输出t行,每行一个数m。

说明/提示

1 <= t <= 100,0 <= n <= 1000000

思路:

先判断n是为素数,如果n为素数,那么最小的m就是它本身; 如果不是素数,就判断n - 1是为素数,如果还不是素数,就判断n + 1,然后n - 2, n + 2…直到出现素数

代码
#include <math.h>
int f(int a)
{
    int j = -1, i, flag;
    while(1)
    {
        flag = 1;//flag为1表示a为素数
        for(i = 2; i <= sqrt(a); i++)
            if(a % i == 0)
            {
                flag = 0;
                break;
            }
        if(flag)
            break;
        else
        {
            a += j;
            if(j > 0)
                j++;
            else
                j--;
            j *= -1;
        }
    }
    return a;
}
int main(void)
{
    int t, n;
    scanf("%d", &t);
    while(t--)
    {
        scanf("%d", &n);
        if(n == 0 || n == 1 || n == 2)
            printf("2\n");
        else
            printf("%d\n", f(n));
    }
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
探索全栈前端技术的魅力:HTML+CSS+JS+JQ+Bootstrap网站源码深度解析 在这个数字化时代,构建一个既美观又功能强大的网站成为了许多开发者和企业追逐的目标。本份资源精心汇集了一套完整网站源码,融合了HTML的骨架搭建、CSS的视觉美化、JavaScript的交互逻辑、jQuery的高效操作以及Bootstrap的响应式设计,全方位揭秘了现代网页开发的精髓。 HTML,作为网页的基础,它构建了信息的框架;CSS则赋予网页生动的外观,让设计创意跃然屏上;JavaScript的加入,使网站拥有了灵动的交互体验;jQuery,作为JavaScript的强力辅助,简化了DOM操作与事件处理,让编码更为高效;而Bootstrap的融入,则确保了网站在不同设备上的完美呈现,响应式设计让访问无界限。 通过这份源码,你将: 学习如何高效组织HTML结构,提升页面加载速度与SEO友好度; 掌握CSS高级技巧,如Flexbox与Grid布局,打造适应各种屏幕的视觉盛宴; 理解JavaScript核心概念,动手实现动画、表单验证等动态效果; 利用jQuery插件快速增强用户体验,实现滑动效果、Ajax请求等; 深入Bootstrap框架,掌握移动优先的开发策略,响应式设计信手拈来。 无论是前端开发新手渴望系统学习,还是资深开发者寻求灵感与实用技巧,这份资源都是不可多得的宝藏。立即深入了解,开启你的全栈前端探索之旅,让每一个网页都成为技术与艺术的完美融合!
探索全栈前端技术的魅力:HTML+CSS+JS+JQ+Bootstrap网站源码深度解析 在这个数字化时代,构建一个既美观又功能强大的网站成为了许多开发者和企业追逐的目标。本份资源精心汇集了一套完整网站源码,融合了HTML的骨架搭建、CSS的视觉美化、JavaScript的交互逻辑、jQuery的高效操作以及Bootstrap的响应式设计,全方位揭秘了现代网页开发的精髓。 HTML,作为网页的基础,它构建了信息的框架;CSS则赋予网页生动的外观,让设计创意跃然屏上;JavaScript的加入,使网站拥有了灵动的交互体验;jQuery,作为JavaScript的强力辅助,简化了DOM操作与事件处理,让编码更为高效;而Bootstrap的融入,则确保了网站在不同设备上的完美呈现,响应式设计让访问无界限。 通过这份源码,你将: 学习如何高效组织HTML结构,提升页面加载速度与SEO友好度; 掌握CSS高级技巧,如Flexbox与Grid布局,打造适应各种屏幕的视觉盛宴; 理解JavaScript核心概念,动手实现动画、表单验证等动态效果; 利用jQuery插件快速增强用户体验,实现滑动效果、Ajax请求等; 深入Bootstrap框架,掌握移动优先的开发策略,响应式设计信手拈来。 无论是前端开发新手渴望系统学习,还是资深开发者寻求灵感与实用技巧,这份资源都是不可多得的宝藏。立即深入了解,开启你的全栈前端探索之旅,让每一个网页都成为技术与艺术的完美融合!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值