北航 2012年考研复试题1

某些整数能分解成若干个连续整数的和的形式,例如
    15 = 1 + 2+3+4+5 
    15 = 4 + 5 + 6
    15 = 7 + 8
某些整数不能分解为连续整数的和,例如:16
输入:一个整数N(N <= 10000)
输出:整数N对应的所有分解组合,按照每个分解中的最小整数从小到大输出,每个分解占一行,每个数字之间有一个空格(每行最后保留一个空格);如果没有任何分解组合,则输出NONE。

解题思路:

根据题目,任何可以进行分解的整数,必然满足(m+n)(n-m+1)/2的形式,可以暴力尝试所有m和n组合,如果满足则输出,否则输出None。

#include <stdlib.h>
#include <stdio.h>

int main(){

    int n;

    while(scanf("%d",&n) != EOF){

       int begin,end;

       int found = 0;

       for(begin=1;begin<=n/2;begin++){

           for(end=begin+1;end<n;end++){

              // 连续整数求和

              int sum = (begin + end)*(end-begin+1)/2;                    

              if(sum == n){ // 可以分解,输出结果

                  found = 1;

                  int i;

                  for(i=begin;i<=end;i++){

                     printf("%d ",i);

                  }

                  printf("\n");

              }

           }

       }

       if(found == 0){

           printf("NONE\n");

       }

    }

    return 0;

}

北航 2012年考研复试题1,布布扣,bubuko.com

时间: 2024-10-10 23:52:41

北航 2012年考研复试题1的相关文章

ZOJ输出 【杭电-3783】 附:2009浙大研究生复试题

/* ZOJ Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1588    Accepted Submission(s): 1129 Problem Description 读入一个字符串,字符串中包含ZOJ三个字符,个数不一定相等,按ZOJ的顺序输出,当某个字符用完时,剩下的仍然按照ZOJ的顺序输出. Input 题目包含多组用例,

考研机试题(2014)

1.求一串数中大于1素数之和 输入输入个数  数字  不超过100个数 不超过10组 多组输入  0结束 例 输入 4 1 2 3 4 5 1 2 3 4 5 0 输出 5 10 #include <stdio.h> #define MAX 10 bool isPrime(int n){ //判断是否是素数 bool flag = true; if( n <=1) return false; for(int i = 2; i*i <= n; i++){ if(n % i == 0)

水仙花数(2013中南大学研究生上机复试题)

1261: 水仙花数 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 633 Solved: 222 [Submit][Status][Web Board] 点击打开链接 Description 春天是鲜花灿烂的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:"水仙花数"是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3.现在要求输出所有在m和n范围内的水仙花数. Input 输入数据

【华科考研机试题】最长&amp;最短文本

题目 输入多行字符串,请按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请全部输出. 解题思路 1.输入所有字符串(有空格不另算字符串). 2.将char*字符串转换成string型. 3.由于map是自动排好序的,所以begin和end可以取到最小的地址和最大的后一个地址. map <int,list<string>>m;//构造map m[s.length].push_back(s);//map插入 list l = m.begin()->s

【华科考研机试题】阶乘

题目 输入n, 求y1=1!+3!+...m!(m是小于等于n的最大奇数) y2=2!+4!+...p!(p是小于等于n的最大偶数). 解题思路 打表算最快,不用每个数据都算一次. 复杂度 时间复杂度(输入的数据量O(m)) 空间复杂度O(1) 代码 #include <bits/stdc++.h> using namespace std; typedef long long ll; //实际上算到30的阶乘肯定溢出了 //但是没关系,题目给的肯定不是溢出的数据 ll jc[30]; //jc

无限循环小数转分数(纯C)

这是以前帮一个哥们做的考研复试题,还是比较有趣的. 首先输入测试数据组数,然后每一组输入的格式为a.b(c),比如: 10 3.1(3) 0.(3) 1.(25) 输出分数形式: 47/15 1/3 124/99 代码和分析如下: #include <stdio.h> #include <string.h> //按照题目条件,设小数是a.b(c)的,比如3.1(3)但是有可能b是空串,比如0.(10) //思路,拿3.1(3)举例:x = 3.1(3) ; 10x = 31.(3)

北航MOOC系统Android客户端NABC

北航MOOC手机客户端NABC分析 1) N (Need 需求) MOOC是Massive Open Online Course的缩写,通常被译为大型开放式网络课程,它最早在08年的时候由一位加拿大的学者提出,经过了几年的沉寂,终于在2012年随着几大课程平台:Coursera.edX.Udacity的崛起而迅速成为全球最为热门的教育话题之一.MOOC这是一种在线教育形式,任何人都能免费注册使用,它有与线下课程类似的作业评估体系和考核方式.按时完成作业和考试的学习者还可能收获导师签署的课程证书.

我自己的Android面试试题总结整理

http://blog.sina.com.cn/s/blog_ad991b1601018mjc.html 2013-5-9号补充:今天最新的腾讯面试题,应该说是所有面试中最难的,我个人感觉.而且是个女面试官,好嗨皮啊,哈哈. 腾讯面试题 1.int a = 1; int result = a+++3<<2; 2.int a = 2; int result = (a++ > 2)?(++a):(a+=3); 3.int a = 1234567; int b = 0x06; int resu

2014年至今的博文目录(更新至2017年06月12日)

拓扑学中凝聚点的几个等价定义(2017-06-12 07:51) 江苏省2017年高等数学竞赛本二试题(含解答)(2017-06-10 20:59) 裴礼文数学分析中的典型问题与方法第4章一元函数积分学练习(2017-06-10 11:04) 2017年厦门大学第十四届景润杯数学竞赛试卷(数学类)评分标准(2017-06-05 15:31) 2017年华东师范大学数学竞赛(数学类)试题(2017-06-05 15:28) 裴礼文数学分析中的典型问题与方法第3章一元微分学练习(2017-05-30