/****************************************************************
输入一个正数s,打印出所有和为s的连续正数序列(至少含有两个数)。
例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以结果打印出3个连续序列
1~5,4~6和7~8。
****************************************************************/
/*
解题思路:以和为9为例
过程:
12
123
1234
234 符合
2345
345
45 符合
4<(9+1)/2 结束查找
*/
#include<stdio.h>
void printContinueSequence(int small,int big);
void findContinueSequence(int sum)
{
if(sum<3)
return;
int small = 1;
int big = 2;
int middle = (sum+1)/2;
int curSum = small + big;
while(small < middle)
{
if(curSum == sum)
{
printContinueSequence(small,big);
++big;
curSum += big;
}
else if(curSum < sum)
{
++big;
curSum += big;
}
else
{
curSum -= small;
++small;
}
}
}
void printContinueSequence(int small,int big)
{
for(int i=small; i<=big; ++i)
{
printf("%d\t",i);
}
printf("\n");
}
int main()
{
findContinueSequence(9);
return 0;
}
分享到:
相关推荐
和为S的连续正数序列.md
57.2 和为 S 的连续正数序列题目描述牛客网题目描述输出所有和为 S 的连续正数序列。例如和为 100 的连续序列有:[9, 10, 11, 12, 13,
# 和为s的连续正数序列 # 输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。 # 序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。 # 输入示例 # 输入:target = 9 ...
和为s的连续正数序列题目解题思路代码实现实现效果 面试题57 – II. 和为s的连续正数序列 题目来源:https://leetcode-cn.com/problems/he-wei-sde-lian-xu-zheng-shu-xu-lie-lcof/ 题目 输入一个正整数 target ...
面试题57 - II. 和为s的连续正数序列输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。示例 1:输出:[
示例 1:输出:[[2,3,4],[4,5]]示例 2:输出:[[1,2,3,4,5],[4,5,6],[7,8]]当窗口的和小于 target 的时候,窗口的
示例 1:输出:[[2,3,4],[4,5]]示例 2:输出:[[1,2,3,4,5],[4,5,6],[7,8]]限制:方法:双指针法求出两个指针中间数的总和
1、设定左右指针left/right,分别指向1和2,维护左右指针间的窗口和sum 2、如果sum等于target值,将左右指针间的数字作为一个数组加入最终结果
小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续...现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!
57.和为S的连续正数序列 Array 关注 58.翻转单词序列 String 58.左旋转字符串 String 59.滑动窗口的最大值 Queue 常考 60.n个骰子的点数 61.扑克牌顺子 62.孩子们的游戏 Math 63.股票的最大利润 Math 64.求1...
和为S的连续正数序列 so.42.和为S的两个数字 so.50.数组中重复的数字 so.51.构建乘积数组 so.64.滑动窗口的最大值 lc.15.三数之和 lc.41.缺失的第一个正数 lc.54.螺旋矩阵 lc.88.合并两个有序数组 1.2 链表 题目 ...
和为s的连续正数序列 10、 58-I. 翻转单词顺序 11、58-II. 左旋转字符串 12、66. 构建乘积数组 二、栈和队列 1、06. 从尾到头打印链表 2、09.用两个栈实现队列 3、30.包含min函数的栈 4、59-I. 滑动窗口 5、59-II. ...
学校 1.中位数 ...让我们以通过粘贴连续的正数形成的无限数字序列为例:S = 123456789101112131415 ...确定给定序列A在无限序列S中的首次出现(编号从1开始)。 输入示例:6789 111 样本输出:6 12
2、实现1所要求的代码后,运行设计好的代码,将以下的几组整数序列建成搜索二叉树,并记录下它们的前序遍历序列和后序遍历序列: a. 1、3、5、7、9; b. 1、13、35、13、27; c. 50、25、78、13、44、...
问题_2_学校HH ...让我们以通过粘贴连续的正数形成的无限数字序列为例:S = 123456789101112131415 ...确定给定序列A在无限序列S中的首次出现(编号从1开始)。 输入样例: 6789 111 样本输出: 6 12
16.设m.n均为自然数,m可表示为一些不超过n的自然数之和,f(m,n)为这种表示方式的数目。例f(5,3)=5, 有 5种表示方式:3+2,3+1+1,2+2+1,2+1+1+1,1+1+1+1+1。 ①以下是该函数的程序段,请将未完成的部分填入,...
MCS—51可提供 和 两种存储器,其编址方式为 ,扩展后其最大存储空间分别为 和 。对80C51而言,片内ROM和片外ROM的编址方式为 ,片外ROM的地址从 开始;片内RAM和片外RAM的编址方式为 ,片外RAM的地址从 开始。 18...
为此,LINGO为用户提供了两个可选部分:输入集成员和数据的数据部分(Data Section)和为决策变量设置初始值的初始部分(Init Section)。 3.1 模型的数据部分 3.1.1 数据部分入门 数据部分提供了模型相对静止部分...
1.5.10. 输入一个正数 n,输出所有和为 n 连续正数序列 ................................125 1.6. 面试题集合(五) .......................................................................................126...
//读暂存器和CRC值----------------------- if(Ds18b20_ReadEE(temp)) { TR1 = 1; TR0 = 1; return 1; } //------------------------------------- //CRC校验------------------------------ // //此处应加入...