zoukankan      html  css  js  c++  java
  • 一天一道算法题—2015-10-15

    1、题目:输入一个正数n,输出所有和为n 连续正数序列。

    例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3 个连续序列1-5、4-6 和7-8。

    解析:

    1)本题的关键词是连续,而且是正数。

    2)举例,从例子中找到规律。

    n = 1  => 1

    n = 2  => 2

    n = 3  => 1+2

    ....

    测试了几组,规律是这样的:

    正数n,从1~ Int(n/2)遍历的数值作为起始点,然后依次累加,直至大于或等于n。

    #include <stdio.h>
    int main()
    {
    	int n;  //输入值 
    	int mid,j; //中间值 ,循环值 
    	int i; //增加值 
    	int sum = 0; //累加结果值 
    	int value ;
    	scanf("%d",&n);
    	mid = n/2 ;
    	for ( j = 1 ; j < mid+1 ; j++)
    	{
    		value = j;
    		sum = 0;
    		while( sum < n )
    		{
    			sum = sum + value;
    			value++;
    		}
    		if ( sum == n)
    		{
    			for(i = j ; i < value;i++)
    			{
    				printf("%d ",i);
    			}
    			printf("
    ");
    		} 
    	}
    }

      

  • 相关阅读:
    mybatis的知识点总结
    orm框架与缓存的关系
    mybatis知识点
    mybatis
    MyBatis的动态SQL详解
    工资谈判技巧
    MySQL 创建函数(Function)
    开始AFNetworking
    hdu 4778 Rabbit Kingdom(减少国家)
    设计模式:代理模式
  • 原文地址:https://www.cnblogs.com/shixiaomiao/p/4883349.html
Copyright © 2011-2022 走看看