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("\n"); } } }
2.查找一个二叉树的深度
时间: 2024-10-14 09:09:06