当前位置: 首页 > news >正文

C语言每日一题:16:数对。

请添加图片描述

思路一:基本思路

1.x,y均不大于n,就是小于等于n。
2.x%y大于等于k。
3.一般的思路使用双for循环去遍历每一对数。

代码实现:

#include <stdio.h>
int main()
{int n = 0;int k = 0;//输入scanf("%d%d", &n, &k);int x = 0;int y = 0;long long count = 0;for(x=1;x<=n;x++){for(y=1;y<=n;y++){if(x%y>=k)count++;}}printf("%lld", count);return 0;
}

我们的运行结果是
我们在vs2022下测试代码的结果是正确的什么说明我们的代码思路是没有问题可以计算出结果但是呢,题目要求时间限制是1s,在vs运行出结果至少用了十秒。说明我们的时间复杂度过高当n比较大时时间复杂度是特别高的。请添加图片描述

思路二:寻找规律推导公式

请添加图片描述

#include <stdio.h>
int main()
{long n = 0;long k = 0;//输入scanf("%ld%ld", &n, &k);long count = 0;//1.当k=0的时候。if(k==0){count=n*n;}else {//只遍历我们行for(long y=k+1;y<=n;y++){//计算对角线右long help = n % y < k ? 0 : (n % y) - k + 1;//计算对角线左count += (y - k) * (n / y) + help;}}printf("%ld\n",count);return 0;
}
http://www.lryc.cn/news/120821.html

相关文章:

  • 中科亿海微浮点数转换定点数
  • JavaScript激活严格模式
  • Linux cond_resched()简介
  • 初出茅庐的小李博客之认识编码器
  • NVIDIA TX2 NX编译及更新设备树
  • 从零开始学Python(二)运算符、if、循环结构
  • Sentinel整合Spring Cloud Gateway、Zuul详解
  • wsl2安装mysql环境
  • C#质检工具(StyleCop、SonarLint)
  • PyTorch翻译官网教程-NLP FROM SCRATCH: GENERATING NAMES WITH A CHARACTER-LEVEL RNN
  • 【C语言】结构体详解
  • leetcode242. 有效的字母异位词
  • Unity 编辑器资源导入处理函数 OnPostprocessAudio :深入解析与实用案例
  • uniapp开发(由浅到深)
  • QT-基于Buildroot构建系统镜像下实现QT开发
  • 优雅地处理RabbitMQ中的消息丢失
  • Vim入门教程vimtutor1.7总结
  • Stephen Wolfram:让 ChatGPT 真正起作用的是什么?
  • CTF-Flask-Jinja2(持续更新)
  • linux文件I/O之 fcntl() 函数用法:设置文件的 flags、设置文件锁(记录锁)
  • 黑马项目一完结后阶段面试45题 JavaSE基础部分20题(一)
  • (一)创建型设计模式:3、建造者模式(Builder Pattern)
  • 指针进阶大冒险:解锁C语言中的奇妙世界!
  • 2.0 Maven基础
  • 在Linux虚拟机内配置nginx以及docker
  • 数据结构-带头双向循环链表的实现
  • android Ndk Jni动态注册方式以及静态注册
  • MySQL中的索引
  • idea中如何处理飘红提示
  • Elasticsearch使用中出现的错误