目录

题目 A: 数组排序

题目 B: n!的尾部0的个数

题目 C: 录取加分

题目 D: 区间内素数个数

题目 E: x的n次方

题目 F: 猴子跳台阶

题目 G: 骨牌铺方格

题目 H: 求一个数列的最大项


题目 A: 数组排序

题目描述

任意给定整数n,及一组由n个元素构成的数a1、a2、a3、…、an, 你的任务是对这n个数进行排序。

输入

有若干组测试数据。每一组测试数据由2行组成,其第1行上有一个整数n,(1≤n≤1000),第2行上有n个整数,表示你要对这n个数进行排序。

输出

对输入中的每一组待排序的数据,输出该数组经从小到大排序后的数组元素,元素之间有一个空格,尾部无多余空格。

样例输入

3

25 2 5

17

23 949 123 23 334 12 245 3 45 66 21 -34 5 6 7 22 34

样例输出

2 5 25

-34 3 5 6 7 12 21 22 23 23 34 45 66 123 245 334 949

参考答案

#include <iostream>
#include <vector>
#include <algorithm>int main()
{int num;while (std::cin >> num){std::vector<int> nums;int a;for (int i = 0; i < num; i++){std::cin >> a;nums.push_back(a);}std::sort(nums.begin(), nums.end());for (int i = 0; i < num; i++){std::cout << nums[i];if (i != num - 1){std::cout << " ";}}std::cout << std::endl;}return 0;
}

题目 B: n!的尾部0的个数

题目描述

给定一个正整数n,计算n!的尾部0的个数。

输入

输入数据有若干行。每行上有一个正整数n,(0<n<32767),对应一种情形。

输出

对于每一种情形,先输出“Case #: ”(#为数据序号,从1起),然后输出n的值,逗号,结果,换行。

样例输入

8

20

100

样例输出

Case 1:8,1

Case 2:20,4

Case 3:100,24

参考答案

#include<iostream>int main()
{int num;int count =1;int zero_num=0;while(std::cin>>num){int number = num;zero_num=0;int result= 1;while(num){zero_num = zero_num+num/5;num /= 5;}std::cout<<"Case "<<count<<":"<<number<<","<<zero_num<<std::endl;count++;}
}

题目 C: 录取加分

题目描述

某公司招聘员工,规定凡是获得某个职业认证证书或某个竞赛奖项的应聘人员具有面试加分30参与排名的优先权。现有一组应聘人员的卷面测试成绩,有些应聘人员具有加分资格,有些则没有。现要求所有这些应聘人员加分处理后进行从高到低的排队。

输入

输入有多组数据。每组第一行上有一个整数n,(1≤n≤30),表示要参加应聘人员数。接着有n行,每行有两个整数s,f,其中s表示该应聘者的卷面测试分数,f表示是否具有加分30分的资格,如果f=1表示该人有加30分资格,f=0表示无加分资格。

输出

对输入中的每组数据,从高到低输出经过加分处理后的分数数据,数据之间有一个空格,尾部无多余空格。

样例输入

3

673 1

578 0

630 1

5

582 0

580 1

578 1

580 0

575 0

样例输出

703 660 578

610 608 582 580 575

参考答案

#include<iostream>struct Person
{int fenshu;int jiafen;
};int main()
{int num;while(std::cin>>num){Person person[num];for(int i=0;i<num;i++){std::cin>>person[i].fenshu;std::cin>>person[i].jiafen;if(person[i].jiafen==1){person[i].fenshu+=30;}}for(int i = 0;i<num-1;i++){for(int j=i+1;j<num;j++){if(person[i].fenshu<person[j].fenshu){Person temp = person[i];person[i] = person[j];person[j] = temp;}}}for(int i=0;i<num;i++){std::cout<<person[i].fenshu;if(i!=num-1){std::cout<<" ";}}std::cout<<std::endl;}
}

题目 D: 区间内素数个数

题目描述

给定正整数a,b,输出两个正整数a,b之间(包括a,b)的全部素数。

输入

先输入一个正整数T,代表需要处理的区间对数,接下来T行,每行输入两个正整数a,b(a<b<1000),代表要统计素数的区间范围。

输出

对每一对区间,按从小到大顺序一行输出该区间内的全部素数。

样例输入

2

200 300

2 9

样例输出

211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293

2 3 5 7

参考答案

#include<iostream>
#include<vector>bool zhishu(int num)
{for(int i=2;i<num;i++){if(num%i!=0){}else return false;}return true;
}int main()
{int num;std::cin>>num;while (num){int left,right;std::vector<int> result;std::cin>>left>>right;for(int i=left;i<=right;i++){if(zhishu(i)){result.push_back(i);}}for(int i=0;i<result.size();i++){std::cout<<result[i];if(i!=result.size()-1){std::cout<<" ";}}std::cout<<std::endl;num--;}}

题目 E: x的n次方

题目描述

计算一任意数x的n次方,即 y=xn   (n>=0,x>0).

输入

第 1 行给出正整数 T,是测试用例的个数。随后给出 T 组测试用例,每组占一行,顺序给出整数 x 和 n(0<x<100,0<=n<1000)。整数间以空格分隔。

输出

对每组测试用例,在一行中输出结果y。由于数据比较大,请输出y%10007的值。

样例输入

2

3 5

2 8

样例输出

243

256

参考答案


#include<iostream>int main()
{int count;int num_x,num_n;std::cin>>count;while(count){int result = 1;std::cin>>num_x>>num_n;if(num_n==0){result =1;}for(int i=1;i<=num_n;i++){result  = (result%10007 * num_x %10007)%10007;}std::cout<<result<<std::endl;count--;}
}

题目 F: 猴子跳台阶

题目描述

猴子要爬n级台阶。假设猴子一步可以跳1级或3级台阶。问n级台阶有多少种不同的跳法。

输入

有多组数据,每组一行,其上有一个整数n(0<n<=30)。

输出

对输入的每个整数n,输出n级台阶的不同跳法数Fn。数据Fn。可能比较大,只需输出模100007的值Fn(mod 100007) 。

样例输入

3

4

样例输出

2

3

参考答案

#include<iostream>int palouti(int num)
{if(num <1){return 0;}else if(num<3 && num>0){return 1;}else if(num ==3){return 2;}return palouti(num-3) + palouti(num-1);
}int main()
{int num;while(std::cin>>num){std::cout<<palouti(num)%100007<<std::endl;}
}

题目 G: 骨牌铺方格

题目描述

有 2×n的一个长方形方格,用一个1*2的骨牌铺满方格。问对给出的任意一个n(n>0), 铺法总数有多少种?

输入

有多组数据,每组一行,其上有一个整数n(0<n<=40)。

输出

对输入的每个整数n,输出2×n的方格用1*2型铺满的不同方法总数Fn。数据Fn可能比较大,只需输出模100007的值Fn(mod 100007) 。

样例输入

3

5

样例输出

3

8

参考答案

#include<iostream>int pugezi(int num)
{if(num==1){return 1;}else if(num==2){return 2;}else{return (pugezi(num-1)%100007 + pugezi(num-2)%100007)%100007;}
}int main()
{int num;while(std::cin>>num){std::cout<<pugezi(num)<<std::endl;}
}

题目 H: 求一个数列的最大项

题目描述

有如下的数列an,满足:

a1=1,a2i=ai+1;a2i+1=ai+ai+1;

求该数列的第n项及前n项中的最大值M。

输入

有多组数据,每组一行,其上有一个整数n(0<n<=100)。

输出

对输入的每个整数n,该数列的第n项及前n项中的最大值M。

样例输入

5

8

样例输出

5 5

4 6

参考答案


#include<iostream>int shulie(int num)
{if(num == 1){return 1;}else if(num%2==0){return shulie(num/2) + 1;}else if(num%2!=0){return shulie(num/2) + shulie(num/2+1);}return 0;
}int main()
{int num;while(std::cin>>num){int a;int max=0;for(int i =1;i<=num;i++){a = shulie(i);if(a>max){max = a;}}std::cout<<a<<" "<<max<<std::endl;}
}

一次算法作业hhhhhh相关推荐

  1. 又一次算法作业hhhhhh

    目录 A:被11除的余数 B:最大子段和 C:二分查找 D:最小差问题 A:被11除的余数 题目描述 给定一个正整数n,n的位数可达80位.求n被11除的余数. 输入 输入数据的第一行是一个整数T,( ...

  2. 算法作业 (三)——— 装箱问题

    这周的问题终于有些难度了,终于不是一眼看过去就有能写出大概的题目了,还有就是,我又找不到题目了,所以去网上扒了一下,英语的: Packets Time Limit: 1000MS   Memory L ...

  3. CUMTOJ算法作业二

    CUMTOJ算法作业二 问题 A: 单词排序 题目描述 小红学会了很多英文单词,妈妈为了帮小红加强记忆,拿出纸.笔,把 N 个单词写在纸上的一行里,小红看了几秒钟后,将这张纸扣在桌子上.妈妈问小红:& ...

  4. 算法作业系列10——Unique Substrings in Wraparound String

    算法作业系列(十) Unique Substrings in Wraparound String 写在前面 如果你是因为没有思路来找答案的,这里建议你去看看题目的s,因为s是一个连续字母的字符串,所以 ...

  5. 记一次数据结构与算法作业:利用循环和递归输出1-N的正整数的程序分析比较

    随便记录一次数据结构与算法的分析作业,内容为分析循环和递归实现输出1-N的正整数的对比.从时间和空间上分析了两种方式实现的递归方法和循环区别. 一.数据记录图表 二.分析 第一张图表制作时由于在打游戏 ...

  6. 贪心算法作业之汽车加油问题

    啰嗦几句 好不容易写到最后一个作业,感觉好没意思,都是直接写代码,这个关于贪心算法,实在写不下去了.但是,不知道写什么东西,凑个数. 问题描述 一辆汽车加满油后可行驶n公里.旅途中有若干个加油站.设计 ...

  7. 汽车加油c语言作业,算法作业—汽车加油问题

    一辆汽车加满油后可以行驶 N 千米. 旅途中有若干个加油站. 指出若要使沿途的加油次 数最少,设计一个有效的算法,指出应在那些加油站停靠加油. 给出 N ,并以数组的形式给出加油站的个数及相邻距离,指 ...

  8. 算法作业04(回溯与分支界限算法)(骑士游历与行列变换问题)

    1.骑士游历问题 问题描述: 在国际象棋的棋盘(8行×8列)上放置一个马,按照"马走日字"的规则,马要遍历棋盘,即到达棋盘上的每一格,并且每格只到达一次.若给定起始位置(x0,y0 ...

  9. poi word转html 根号,根号算法 - 作业部落 Cmd Markdown 编辑阅读器

    根号算法 --如何让复杂度去掉维 数据结构 算法 By 分块 一般分块 板子&原理 SIZ=(int)sqrt(n);//块大小 for(inti=(x-1)*SIZ+1;i<=x*SI ...

最新文章

  1. psychopy: pyglet.media.sources.riff.WAVEFormatException: AVbin is required to decode compressed medi
  2. python画图简单代码-简单画图 - python代码库 - 云代码
  3. 改变跳转页面 英文_如何高效阅读英文文献?你可以试试它 | 知云文献翻译
  4. (jQuery,SVG)使用jQuery和svg仿QQ地图测距功能(抛砖引玉)
  5. 图片优化_Web 性能优化: 图片优化让网站大小减少 62%
  6. 官宣!.NET官网发布中⽂版
  7. 几个python小程序
  8. java 默认排序方式_Java Collections.sort()实现List排序的默认方法和自定义方法
  9. 2Python全栈之路系列之MysQl基本数据类型
  10. Arduino IDE下载安装ESP8266/32慢的解决办法
  11. Python(PyCharm)的下载安装汉化(2022)
  12. 如何在html中插入带圈数字,Excel2013中带圈数字怎么输入
  13. 视频《博客三人行》Windows7让Vista沦为“WindowsMe”
  14. Educoder计算机数据表示实验(HUST)第2关:汉字机内码获取实验
  15. 【大厂面试】面试官看了赞不绝口的Redis笔记(三)分布式篇
  16. Matlab中的ismember和contains傻傻分不清
  17. linux安装软件时/usr/lib/python2.7/site-packages/urlgrabber/grabber.py文件异常
  18. python 利用递归算法来完成计算乘阶、斐波那契数列、汉诺塔
  19. 地质体剖面从构建到Web三维展示
  20. eg 6-20 A recursive function finds the greatest commen divisor of two integer

热门文章

  1. AppleTalk--网络大典
  2. 转行IT,零基础学什么技术比较好?
  3. ArcEngine添加注记
  4. 看名言后的心得体会学会融会贯通
  5. cesium 3d建筑物光效 泛光实体
  6. 成田机场坐access到品川_下了飞机看不懂日语?这篇干货告诉你从羽田/成田机场到东京市区怎样方便又省钱!...
  7. 一季度出货量暴跌22%,小米手机已“师老兵疲”
  8. C++ API设计笔记
  9. 阿里秒挂,疯狂复习半个月,拿下美团offer(后台开发JAVA岗)
  10. u盘安装LINUX键盘失灵,U盘装Win7系统进入pe后鼠标键盘失灵不能用怎么办?