新余市网站建设_网站建设公司_字体设计_seo优化
2026/1/16 11:17:45 网站建设 项目流程

2025年山东大学计算机考研复试机试真题

2025年山东大学计算机考研复试上机真题

历年山东大学计算机考研复试上机真题

历年山东大学计算机考研复试机试真题

更多学校题目开源地址:https://gitcode.com/verticallimit1/noobdream

N 诺 DreamJudge 题库:输入 “学校名称” 即可筛选该校历年机试真题,题目均在考纲范围内,按难度自动排序。还可搭配《计算机考研机试攻略》刷题,书中题目可通过题号直接在题库中查找。

整数序列

题目描述

Time Limit: 1000 ms
Memory Limit: 256 mb

很多整数可以由一连串的整数序列相加而成,比如25=3+4+5+6+7=12+13,输入一个整数N,输出N的全部整数序列,如果没有输出"NONE”。2<=n<=1e7

输入输出格式
输入描述:

见样例

输出描述:

见样例

输入输出样例
输入样例#:
25
输出样例#:
3 4 5 6 7 12 13

代码一

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. bool Compare(vector<int>& l,vector<int>& r){
  4. return l[0] < r[0];
  5. }
  6. int main() {
  7. long long n;
  8. while(cin >>n){
  9. int flag = 0;
  10. vector<vector<int> > ans;
  11. for(long long i = 1;i <n;i++){
  12. if((n - (i*(i-1)) / 2) % i == 0){
  13. long long a = (n - (i*(i-1)) / 2 ) / i;
  14. if(a >0){
  15. if(a == n) continue;
  16. vector<int> v;
  17. for(long j = a; j <= a + i -1;j++){
  18. flag =1;
  19. v.push_back(j);
  20. }
  21. ans.push_back(v);
  22. }
  23. }
  24. }
  25. sort(ans.begin(),ans.end(),Compare);
  26. for(int i= 0;i<ans.size();i++){
  27. for(int j = 0;j < ans[i].size();j++){
  28. cout<<ans[i][j]<<" ";
  29. }
  30. cout<<endl;
  31. }
  32. if(flag == 0) cout<<"NONE"<<endl;
  33. }
  34. return 0;
  35. }

代码二

  1. #include<iostream>
  2. #include<cmath>
  3. using namespace std;
  4. int main()
  5. { int n;cin>>n;int flag=0;int temp;
  6. if(n==2) {
  7. cout<<"NONE"<<endl;
  8. return 0;
  9. }
  10. for(int i=sqrt(5*n);i>=2;i--)
  11. {
  12. if(i%2==1&&n%i==0)
  13. {
  14. temp=n/i;
  15. if(temp-i/2>=0)
  16. {for(int k=temp-i/2;k<=temp+i/2;k++)
  17. cout<<k<<' ';
  18. cout<<endl;
  19. flag=1;
  20. }
  21. }
  22. if(i%2==0&&(n-i/2)%i==0)
  23. { temp=(n-i/2)/i;
  24. if(temp-(i/2)+1>=0)
  25. {
  26. for(int k=temp-(i/2)+1;k<=temp+i/2;k++)
  27. {
  28. cout<<k<<' ';
  29. }
  30. cout<<endl;
  31. flag=1;
  32. }
  33. }
  34. }
  35. if(!flag) cout<<"NONE"<<endl;
  36. return 0;
  37. }

代码三

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5. long long n;
  6. cin>>n;
  7. long long flag=0;
  8. for(long long i=1;i<=n/2;i++)// 枚举a1
  9. {
  10. // 二分an
  11. long long l=i+1,r=n/2+1;
  12. while(l<r)
  13. {
  14. long long mid=l+r+1>>1;
  15. long long x=(i+mid)*(mid-i+1)/2;
  16. if(x<=n) l=mid;
  17. else r=mid-1;
  18. }
  19. if((i+r)*(r-i+1)/2==n)
  20. {
  21. for(long long j=i;j<=r;j++) cout<<j<<" ";
  22. cout<<endl;
  23. flag=1;
  24. }
  25. }
  26. if(flag==0) cout<<"NONE"<<endl;
  27. return 0;
  28. }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询