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

【刷题】蓝桥杯

蓝桥杯2023年第十四届省赛真题-平方差 - C语言网 (dotcpp.com)

 初步想法,x = y2 − z2=(y+z)(y-z)

即x=a*b,a=y+z,b=y-z

2y=a+b

即a+b是2的倍数就好了。

即x存在两个因数之和为偶数就能满足条件。

但时间是(r-l)*x,数据1e9,直接T了

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
map<int,int> mp;
int cnt;bool judge(int  x)
{for(int i=1;i<=x;i++)//找两个因数 {if(x%i!=0) continue;int d=x/i+i;if(d%2==0||x==1)//说明是整数 {return true; } }return false;
}
signed main()
{ios::sync_with_stdio(false);cin.tie(nullptr);int l,r;cin>>l>>r; for(int i=l;i<=r;i++){if(judge(i)) cnt++; }cout<<cnt;return 0;
}

运行结果:

进一步分析:

根据题意多写几个,不难发现奇数似乎都能拆成y2 − z2的形式?因此,我们从奇偶的角度来找规律。

(这个地方写错了,是\left ( k+1 \right )^{^{2}}-\left ( k \right )^{^{2}}

那么,在这里就可以得出结论辣。想要数字能表示成y2-z2的形式,只有两种可能:

1.奇数   2.4的倍数

代码:

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int cnt;signed main()
{int l,r;cin>>l>>r; for(int i=l;i<=r;i++){if(i%2) cnt++;if(i%4==0) cnt++;}cout<<cnt;return 0;
}

 (这一步还不能过属实有点钻牛角尖了。。。。。

但是好在,已知一个数x,对应的奇数、4的倍数的数的个数是可以算出来的。

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int cnt;
signed main()
{int l,r;cin>>l>>r; int d=(l-1)/2;if((l-1)%2==0) d--;int p=l/4;if((l%4)==0) p--;cnt=(r-1)/2-d+r/4-p;cout<<cnt;return 0;
}

http://www.lryc.cn/news/170793.html

相关文章:

  • C++入门及简单例子_4
  • 成集云 | 用友U8集成聚水潭ERP(用友U8主管库存)| 解决方案
  • 提升网站效率与SEO优化:ZBlog插件集成解决方案
  • C语言的编译过程详解
  • 无人机航测没信号?北斗卫星来解决
  • Vue 03 数据绑定
  • #循循渐进学51单片机#步进电机与蜂鸣器#not.8
  • 计算存储是不是智算时代的杀手锏?
  • 西门子S7-1200F或1500F系列安全PLC的组态步骤和基础编程(二)
  • 【Spring Boot】Spring Boot中的简单查询
  • Transformer 01(自注意机制Self-attention)
  • 交流共享,共筑智算底座丨九州未来受邀出席英特尔线下沙龙
  • 【EI会议信息】第五届土木建筑与城市工程国际学术会议(ICCAUE 2023)
  • 上海亚商投顾:沪指震荡反弹 汽车产业链全天强势
  • 【Python深度学习】深度学习入门介绍
  • 【Linux系统编程】进程概念与基本创建
  • webpack:详解CopyWebpackPlugin,复制的同时修改文件内容
  • Twin-Builder—系统级多物理域数字孪生平台
  • 用selenium和xpath定位元素并获取属性值以及str字符型转json型
  • 基于Java的电影院管理系统设计与实现
  • Linux Static Key原理与应用
  • linux ssh 禁止指定用户通过ssh登录
  • 快速学习Netty
  • 对类和对象的详细解析
  • matlab 间接平差法拟合二维圆
  • pgzrun 拼图游戏制作过程详解(10)
  • glog与pugi::xml使用方法
  • windows下MySQL服务不见,服务无法启动,服务闪退,提示“本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止”
  • 剑指offer(C++)-JZ67:把字符串转换成整数atoi(算法-模拟)
  • 嵌入式笔试面试刷题(day15)