2005年百度之星程序设计大赛试题初赛题目
2012-12-10 20:32
330 查看
2005年百度之星程序设计大赛试题初赛题目第一题
第一题(共四题 100 分):连续正整数( 10 分)
题目描述:一个正整数有可能可以被表示为 n(n>=2) 个连续正整数之和,如: 15=1+2+3+4+5 15=4+5+6 15=7+8
请编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列。
输入数据:一个正整数,以命令行参数的形式提供给程序。 输出数据:在标准输出上打印出符合题目描述的全部正整数序列,每行一个序列,每个序列都从该序列的最小正整数开始、以从小到大的顺序打印。
如果结果有多个序列,按各序列的最小正整数的大小从小到大打印各序列。此外,序列不允许重复,序列内的整数用一个空格分隔。如果没有符合要求的序列,输出 “NONE” 。
第一题(共四题 100 分):连续正整数( 10 分)
题目描述:一个正整数有可能可以被表示为 n(n>=2) 个连续正整数之和,如: 15=1+2+3+4+5 15=4+5+6 15=7+8
请编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列。
输入数据:一个正整数,以命令行参数的形式提供给程序。 输出数据:在标准输出上打印出符合题目描述的全部正整数序列,每行一个序列,每个序列都从该序列的最小正整数开始、以从小到大的顺序打印。
如果结果有多个序列,按各序列的最小正整数的大小从小到大打印各序列。此外,序列不允许重复,序列内的整数用一个空格分隔。如果没有符合要求的序列,输出 “NONE” 。
#include <iostream> using namespace std; void fenjie(int temp){ int i; int flag=0; for (i=2; i<=temp/2+1;i++) { if ((0==i%2)&& (1==temp%i)) { for (int j=0;j<i;j++) { if (temp/i+j-i/2+1<=0) { break; } cout<<temp/i+j-i/2+1<<"\t"; flag=1; } cout<<endl; } else { if ((temp%i==0)&&(1==i%2)) { for (int j=0;j<i;j++) { if (temp/i+j-(i-1)/2<=0) { break; } cout<<temp/i+j-(i-1)/2<<"\t"; flag=1; } cout<<endl; } } } if (flag==0) { cout<<"NONE"<<endl; } } int main(){ unsigned int val; cout<<"input"; while(cin>>val){ fenjie(val); cout<<"input"; } }
相关文章推荐
- 2005年百度之星程序设计大赛试题初赛题目的第一题(求出一个整数的连续整数的和)
- 2005年百度之星程序设计大赛试题初赛题目-题1
- java解答 2005年百度之星程序设计大赛试题初赛题目
- 2005年百度之星程序设计大赛试题初赛题目-题2
- 2005年百度之星程序设计大赛试题初赛题目 第四题(共四题 100 分):低频词过滤( 40 分)
- 2005年百度之星程序设计大赛试题初赛题目二的解答(重叠区间大小)
- 2005年百度之星程序设计大赛试题初赛题目-题3
- 2005年百度之星程序设计大赛试题初赛题目-题4
- 2005年百度之星程序设计大赛试题初赛题目四的解答(低频词过滤)
- php解: 2005年百度之星程序设计大赛试题总决赛题目 ------八方块移动游戏
- 2005年百度之星程序设计大赛初赛试题与解答 第2题 动态规划解法
- 2006年百度之星程序设计大赛试题初赛题目-题4-剪刀石头布
- 2005年百度之星程序设计大赛初赛题目(1)
- 2006年百度之星程序设计大赛试题初赛题目-题4-剪刀石头布
- 2007年百度之星程序设计大赛试题初赛题目-题3-实习生小胖的百度网页过滤器
- 2007年百度之星程序设计大赛试题初赛题目-题3-实习生小胖的百度网页过滤器
- 2005年百度之星程序设计大赛初赛题目(2)
- 2005年百度之星程序设计大赛试题初赛第一题
- 2006年百度之星程序设计大赛试题初赛题目-题2-蝈蝈式的记分
- 2007年百度之星程序设计大赛试题初赛题目-题4-百度时间