C语言每日一练--Day(17)

news2024/9/21 20:53:17

本专栏为c语言练习专栏,适合刚刚学完c语言的初学者。本专栏每天会不定时更新,通过每天练习,进一步对c语言的重难点知识进行更深入的学习。

今日练习题关键字:数对 截取字符串

在这里插入图片描述

💓博主csdn个人主页:小小unicorn
⏩专栏分类:C语言天天练
🚚代码仓库:小小unicorn的代码仓库🚚
🌹🌹🌹关注我带你学习编程知识

Day1

  • 题目一:
    • 题目描述:
    • 解题思路:
    • 代码实现:
    • 结果情况:
  • 题目二:
    • 题目描述:
    • 解题思路:
    • 代码实现:
    • 结果情况:
  • 总结:

题目一:

题目描述:

题目来源:数对:
牛牛以前在老师那里得到了一个正整数数对(x, y), 牛牛忘记他们具体是多少了。
但是牛牛记得老师告诉过他x和y均不大于n, 并且x除以y的余数大于等于k。

牛牛希望你能帮他计算一共有多少个可能的数对。
在这里插入图片描述

在这里插入图片描述

解题思路:

用普通的遍历是没办法走到最后的,数据一但非常大时,时间复杂度就会报错,这里就需要推导一下数学公式:(n / y) * (y - k) + ((n % y < k) ? 0, (n % y - k + 1));

当 y <=k 时,意味着任何数字取模y的结果都在 [0, k-1]之间,都是不符合条件的。
当 y = k+1=4 时,x符合条件的数字有 3,7
当 y = k+2=5 时,x符合条件的数字有 3,4,8,9
当 y = k+3=6 时,x符合条件的数字有 3,4,5,9,10
当 y = k+n时,x小于y当前值,且符合条件的数字数量是:y-k个,
x大于y当前值,小于2*y的数据中,且符合条件的数字数量是:y-k个

从上一步能看出来,在y的整数倍区间内,x符合条件的数量就是 (n / y) * (y - k)个

n / y 表示有多少个完整的 0 ~ y区间, y - k 表示有每个区间内有多少个符合条件的数字

最后还要考虑的是…往后这种超出倍数区间超过n的部分的统计n % y 就是多出完整区间部分的数字个数,其中k以下的不用考虑,则符合条件的是 n % y - (k-1) 个 这里需要注意的是类似于9这种超出完整区间的数字个数 本就小于k的情况,则为0

代码实现:

#include<stdio.h>
int main() 
{
    long n, k = 0;
    long count = 0;
    while (~scanf("%ld %ld", &n, &k)) 
    {
        if (k == 0) 
        {
            printf("%ld\n", n * n);
            continue;
        }
        for (long j = k + 1; j <= n; j++) 
        {
            long help = n % j < k ? 0 : (n % j) - k + 1;
            count += (j - k) * (n / j) + help;
        }
        printf("%ld\n", count);
    }
    return 0;
}

结果情况:

在这里插入图片描述
符合题目要求,问题得到解决。

题目二:

题目描述:

题目来源:截取字符串
输入一个字符串和一个整数 k ,截取字符串的前k个字符并输出
数据范围:字符串长度满足 1≤n≤1000 , 1≤k≤n

输入描述:
1.输入待截取的字符串
2.输入一个正整数k,代表截取的长度
输出描述:
截取后的字符串

在这里插入图片描述

解题思路:

1.输入待截取的字符串
2.输入一个正整数k,代表截取的长度
3.遍历输出len长度字符

代码实现:

#include<stdio.h>
#include<string.h>

int main() 
{

// 输入一个字符串和一个整数 k ,截取字符串的前k个字符并输出
    int len;
    char str[1000];
// 1.输入待截取的字符串
    gets(str);
// 2.输入一个正整数k,代表截取的长度
    scanf("%d", &len);

    for (int i = 0; i < len; i++)
    {

        printf("%c", str[i]);
    }

    return 0;
}

结果情况:

在这里插入图片描述
符合题目要求,问题得到解决。

总结:

文章到这里就要告一段落了,有更好的想法或问题,欢迎评论区留言。
希望今天的练习能对您有所收获,咱们下期见!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/959570.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何在访问一个页面时,将访问时刻的时间显示在页面上

1.如何在访问一个页面时&#xff0c;将访问时刻的时间显示在页面上 GetMapping("/append") public ModelAndView append() {ModelAndView mvnew ModelAndView("expense/append");String date LocalDate.now().toString();mv.addObject("date",d…

OTFS-ISAC雷达部分最新进展(含matlab仿真+USRP验证)

OTFS基带参数设置 我将使用带宽为80MHz的OTFS波形进行设计&#xff0c;对应参数如下&#xff1a; matlab Tx仿真 Tx导频Tx功率密度谱 帧结构我使用的是经典嵌入导频帧结构&#xff0c;Tx信号波形的带宽从右图可以看出约为80Mhz USRP验证 测试环境 无人机位于1m处 Rx导频Rx…

Python爬取京东商品评论

寻找数据真实接口 打开京东商品网址查看商品评价。我们点击评论翻页&#xff0c;发现网址未发生变化&#xff0c;说明该网页是动态网页。 API名称&#xff1a;item_review-获得JD商品评论 公共参数 获取API测试key&secret 名称类型必须描述keyString是调用key&#xff…

source insight 宏 MakeBufClip

趁着工作间隙在搞一些source insight 的宏&#xff0c;当在使用这个 MakeBufClip 的时候&#xff0c;出现了问题&#xff0c;如&#xff1a; 居然是未知的命令&#xff0c;可是这个是从官方文档里参考的啊&#xff1a;MakeBufClip (hbuf, fClip) 然后我也是尝试一下发邮件给 s…

Ansible自动化运维工具(三)

目录 Ansible 的脚本 --- playbook 剧本 ​编辑2.vars模块实战实例 3.指定远程主机sudo切换用户 4.when模块实战实例 5.with_items迭代模块实战实例 6.Templates 模块实战实例 &#xff08;1&#xff09;先准备一个以 .j2 为后缀的 template 模板文件&#xff0c;设置引用…

Linux 常见命令操作

一、目录管理 1.1 列出目录 ls # ls 命令 # -a 参数&#xff0c;查看全部的文件&#xff0c;包括隐藏的文件 # -l 参数&#xff0c;列出所有的文件&#xff0c;包括文件的属性和权限&#xff0c;不显示隐藏文件 [rootlocalhost /]# ls bin boot dev etc home lib lib64…

<数据结构>AVL树详解

目录 AVL是什么&#xff1f; 平衡因子 旋转 左单旋 右单旋 左右双旋 右左双旋 全部的代码 AVL树又叫平衡树(Balance_Tree)&#xff0c;笔者认为这个名字非常不错&#xff0c;中国嘛&#xff0c;就是在意阴阳平衡&#xff0c;之前小编还拿这个当过自己网络IP&#xff0c…

计算机组成原理之计算机系统概述(补充)

目录 一、引入二、计算机发展历程2.1 什么是计算机系统2.2 硬件的发展2.3 软件的发展2.4 目前的发展趋势2.5 小结 三、计算机硬件的基本组成3.1 早期冯诺依曼机的结构3.2 现代计算机的结构3.3 小结 四、各个硬件的工作原理4.1 主存储器的基本构成4.2 小结 五、计算机系统的层次…

常见项目管理中npm包操作总结

前言 我们在日常工作中&#xff0c;可能需要下载包、创建包、发布包等等。本篇推文将记录日常项目中关于npm包的操作。 引用包 npm仓库公开的包我们都可以通过npm install的命令进行引用下载。 而我们开发的业务公共组件需要在公司内部项目公共引用&#xff0c;而不希望公开为外…

Java“牵手”京东店铺所有商品API接口数据,通过店铺ID获取整店商品详情数据,京东店铺所有商品API申请指南

京东平台店铺所有商品数据接口是开放平台提供的一种API接口&#xff0c;通过调用API接口&#xff0c;开发者可以获取京东整店的商品的标题、价格、库存、月销量、总销量、库存、详情描述、图片、价格信息等详细信息 。 获取店铺所有商品接口API是一种用于获取电商平台上商品详…

狂神汇编原理

1.汇编(可以破解软件,写外挂…) ------计算器语言----- 2.机器语言 0和1 c>汇编—>二进制 INC --抽象-->编译器 0100 0000DECMULDIV3.进制 10进制(10个手指) 可以自己定义进制,作为进制加密解密,查数 1进制 一进一 写出2 ->1 1 2进制 0 1 10 11 100 101 110…

使用Arrays.asList生成的List集合,操作add方法报错

早上到公司&#xff0c;刚到工位&#xff0c;测试同事就跑来说"功能不行了&#xff0c;报服务器异常了&#xff0c;咋回事";我一脸蒙&#xff0c;早饭都顾不上吃&#xff0c;要来了测试账号复现了一下&#xff0c;然后仔细观察测试服务器日志&#xff0c;发现报了一个…

springboot实战(四)之整合mybatis-plus

目录 环境&#xff1a; 准备&#xff1a; 开始&#xff1a; 1.创建表t_user 2.项目添加依赖 3.配置 1.配置mysql链接信息 2.在启动类配置mapper扫描路径 4.创建实体类 5.创建mapper 6.测试 环境&#xff1a; jdk&#xff1a;1.8 springboot版本&#xff1a;2.7.15…

3D虚拟数字人定制+AI交互数字人技术,助力企业开启营销新思路

近日&#xff0c;番茄小说推出数字人IP番卷卷&#xff0c;其承担着连接现实世界与番茄世界的重要角色&#xff0c;作为用户进入番茄世界的数字导游。数字人番卷卷的出现&#xff0c;一方面能够强化品牌在用户层面的心智&#xff0c;另一方面可以让用户拥有多层次、多情感、角色…

C++ while 循环

只要给定的条件为真&#xff0c;while 循环语句会重复执行一个目标语句。 语法 C 中 while 循环的语法&#xff1a; while(condition) {statement(s); }在这里&#xff0c;statement(s) 可以是一个单独的语句&#xff0c;也可以是几个语句组成的代码块。condition 可以是任意…

防雷接地+防雷检测综合应用解决方案

防雷接地和防雷检测是防雷工程中的重要内容&#xff0c;它们旨在保护建筑物和设备免受雷电的危害。地凯科技将介绍防雷接地和防雷检测的基本原理、施工案例方案和国标措施。 防雷接地是指将建筑物的金属结构、防雷装置和电气设备与地面连接&#xff0c;形成一个接地系统&#…

vscode宏键绑定

开发语言php 实现输入[ 得到 [];的效果 [win]ctrlp,[mac]superp 输入>keyboard 选择 在json文件里增加(目前有缺陷,sublime的设置是比较完美的.或者phpstorm默认不需要配置): {"key": "[","command": "editor.action.insertSnippet&…

CUDA Toolkit多版本安装与配置

CUDA Toolkit多版本安装目的是为了将CUDA Toolkit支持多个版本&#xff0c;并将当前版本更新到后续支持常见pytorch的版本&#xff08;即cuda11.6&#xff09;&#xff0c;目前该系统默认安装的是cuda10.2&#xff0c;cuda11.0和cuda11.2。CUDA一般有两种API&#xff0c;一个是…

PMD代码检查:没有使用的私有字段(UnusedPrivateField)

https://docs.pmd-code.org/pmd-doc-6.55.0/pmd_rules_java_bestpractices.html#unusedprivatefield 如果代码中的private字段声明了、或者赋值了&#xff0c;但没有被用到&#xff0c;就报违反项。例如&#xff1a; 但是从PMD 6.50.0版本开始&#xff0c;如果私有字段上有任…

h5网站开发,页面加载wow.js动画时,出现了左右滚动条,怎么解决?

一、问题描述&#xff1a; 如下图所示&#xff0c;页面在加载WOW动画时出现了左右滚动条&#xff1a; 二、解决方法&#xff1a; 使用CSS样式来隐藏滚动条 在CSS文件中添加以下样式&#xff1a; body {overflow-x: hidden; /* 隐藏水平滚动条 */ }完美解决&#xff0c;还不会…