和为指定值的连续序列

news/2023/9/28 18:57:00

输入一个整数s,打印出所有和为s的连续正整数序列(至少包含两个数)。例如,对于输入15,由于有1+2+3+4+5=15,4+5+6=15,7+8=15,所以打印出1~5、4~6、7~8三个序列。


有个比较好的做法是利用等差数列求和公式:s=a*n+n*(n-1)/2。这里的a是第一个元素,n是项数。


int solve(int k)
{int count = 0;for (int i = 1, v = 0; (v = i * (i - 1) / 2) <= k; i++) {if ((k - v) % i == 0) {// a = (k - v) / i;count++;}}return count;
}


 

这种方法只适用于这个特定的应用场景,题目稍微改变一下就不太好处理了。例如,要求求得的序列是某个数值中的连续序列,不再是自然数连续序列,这样就没办法用这个方法了。这种情况下可以先将数组排序,然后按照下面的方法求解即可。


 

int solve(int A[], int N, int val)
{int count = 0, beg = 1, end = 0, sum = A[0];while (beg < end && end < N) {if (sum == val) {count++;// A[beg] -> A[end]sum += A[++end];} else if (sum < val) {sum += A[++end];} else {sum -= A[beg++];}}return count;
}


 

 

转载于:https://www.cnblogs.com/suncoolcat/p/3294001.html


https://dhexx.cn/news/show-18229.html

相关文章

服务器配置MySQL主从复制搭建,一主多从

服务器配置MySQL主从复制搭建&#xff0c;一主多从一、前期准备1、目标效果效果二、配置步骤1、环境2、数据与自定义账号3、配置主数据库4、配置从数据库三、测试1、主数据库测试样例一、前期准备 1、目标效果效果 目标&#xff1a;搭建三台MySQL服务器&#xff0c;一台作为主…

Hue 集成HDFS文件系统

Hue 集成HDFS 注意修改完HDFS相关配置后&#xff0c;需要把配置scp分发给集群中每台机器&#xff0c;重启hdfs集群。 1.1&#xff0e; 修改core-site.xml配置 <!—允许通过httpfs方式访问hdfs的主机名 --> <property> <name>hadoop.proxyuser.root.hosts&…

SpringBoot 实现定时任务的两种方式:基于注解(@Scheduled)的简单定时器,基于接口SchedulingConfigurer的动态定时任务

SpringBoot 实现定时任务的两种方式一、cron表达式语法二、Scheduled注解使用1、代码2、效果三、SchedulingConfigurer接口1、代码2、效果四、进阶版基于接口SchedulingConfigurer的动态定时任务1、代码2、效果一、cron表达式语法 cron表达式语法:[秒] [分] [小时] [日] [月] …

hue集成yarn

Hue集成YARN 2.1&#xff0e; 修改hue.ini [[yarn_clusters]][[[default]]]resourcemanager_hostnode-1resourcemanager_port8032submit_toTrueresourcemanager_api_urlhttp://node-1:8088history_server_api_urlhttp://node-1:198882.2&#xff0e; 开启yarn日志聚集服务 M…

Hue集成Hive

Hue集成Hive 如果需要配置hue与hive的集成&#xff0c;我们需要启动hive的metastore服务以及hiveserver2服务 &#xff08;impala需要hive的metastore服务&#xff0c;hue需要hvie的hiveserver2服务&#xff09;。 3.1&#xff0e; 修改Hue.ini [beeswax]hive_server_hostno…

学大数据算跟风吗?

随着互联网、物联网和人工智能等技术的不断发展&#xff0c;大数据技术逐渐进入人们的视野&#xff0c;成为一个备受关注的热点话题。那么&#xff0c;大数据专业好学吗&#xff1f;前景如何&#xff1f;下面我们来一起探讨一下。 一、大数据专业的学习难度 大数据技术是一种综…

Java获取时间,将当前时间减一天、一月、一年,并加以格式化

Java获取时间&#xff0c;将当前时间减一天、一月、一年&#xff0c;并加以格式化一、普遍例子1、代码2、效果二、自定义方法1、代码2、效果三、自定义工具类1、代码2、工具类3、效果四、补充1、Calendar.add()方法参数2、String转换成Date后格式化成自定义时间格式的String类型…

将Oracle的BLOB类型字段传输到MySQL的LONGTEXT类型字段

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 将Oracle的BLOB类型字段传输到MySQL的LONGTEXT类型字段一、相关资料1、POM依赖2、配置文件3、代码4、Oracle数据库5、MySQL数据库6、效果图二、其他1、Maven依赖爆红解决方案…

CSS3 教程 选择器 标记一下防止 要找时404

客 Airen的博客CSS3 选择器——基本选择器 作者&#xff1a;大漠 日期&#xff1a;2011-08-09 点击&#xff1a;6418CSS的选择器&#xff0c;我想大家并不会陌生吧&#xff0c;因为天天在使用&#xff0c;但对于CSS3的选择器&#xff0c;要运用的灵活到位&#xff0c;我想对…

分数拆分( Fractions Again, UVA 10976)-ACM

It is easy to see that for every fraction in the form (k > 0), we can always find two positive integers x and y,x ≥ y, such that: .Now our question is: can you write a program that counts how many such pairs of x and y there are for any givenk? Inpu…