AOJ.综合训练.2016-11-24
AOJ.综合训练
友情提示:不要复制粘贴,看完解析先自己尝试写一下。不行再看题解。这样才会有提高!
A题 金字塔
题意分析
分别读入10个数,按照他给出的格式输出就行了。注意每有7个字符(包括空格)。
#include <stdio.h>
int main()
{
int a,b,c,d,e,f,g,h,i,j,k;
scanf("%d %d %d %d %d %d %d %d %d %d",&a,&b,&c,&d,&e,&f,&g,&h,&i,&j);
printf(" %d \n",a);
printf(" %d %d \n",b,c);
printf(" %d %d %d \n",d,e,f);
printf("%d %d %d %d\n",g,h,i,j);
return 0;
}
B题 最大的两个数 (╯▽╰)
题意分析
给出n个数,升序排序,然后输出最大的2个就行了。注意冒泡排序写法。外层循环n-1次,内存循环n-i-1次。
#include <stdio.h>
#define max 10001
int a[max];
int main()
{
int n;
while(scanf("%d",&n) != EOF){
int i;
for(i = 0;i<n;i++){
scanf("%d",&a[i]);
}
int j,t;
for(i = 0;i<n-1;i++){
for(j = 0;j<n-i-1;j++){
if(a[j]<a[j+1]){
t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
}
printf("%d %d\n",a[0],a[1]);
}
return 0;
}
C题 素数判断
题意分析
给出一个数t,接下来有t组数据,分别判断这t组数据是否为素数,是的话输出Yes,否的话输出No(看清是YES还是Yes,否则会WA)。题目中也标出来了,1不是素数!(被这个地方坑了一次)。
用素数打表的方法。首先要知道:
定义的全局变量默认为0。
先处理从2开始的素数,把所有2的倍数(最大到定义的max)全部置为1,代表非素数。
之后向后寻找,直到找到下一个素数,把他的所有倍数置为1,代表非素数。
……
直到循环为max为止,素数表就打好了。
如果数组元素为0,代表他是素数,否则为非素数。
但是别忘了最后手动把1置为非素数。
#include <stdio.h>
#define max 1005
int a[max];
int main()
{
int i,j;
for(i = 2;i<=max;i++){
if(a[i]!=0){
continue;
}
for(j = 2;j*i<=max;j++){
a[j*i] = 1;
}
}
a[1] = 1;
int t;
scanf("%d",&t);
while(t--){
int n;
scanf("%d",&n);
if(a[n]){
printf("No\n");
}else{
printf("Yes\n");
}
}
return 0;
}
D题 函数计算
题意分析
给出一个多项式,分别求出当这个多项式中x为1,2,……20的结果,每行一个结果。
题目也告诉了公式中有n层层嵌套,表明多项式中的结构都是完全相同,可以抽象成1+1/f(x),因此可以算出第一层的结果,然后层层带入即可。为了保证更高的精度,我用了double型的变量。
#include <stdio.h>
int main()
{
int n =10;
int t = 20;
int k;
for(k = 1;k<=t;k++){
n = 9;
double ret = 1+ 1.0/k;
while(n--){
ret = 1 +1.0 / ret;
}
printf("%.6f\n",ret);
}
return 0;
}
E题 求面积
题意分析
每组数据给出一个n,之后给出来一系列点,这些点分别为(0,a0),(1,a1),(2,a2)……即横坐标为0,1,2,3……,纵坐标为给出的数。 并且为实数(又被这坑了),所以应该用double型变量保存。
读入这些数据到double型数组后,计算面积。我是这样想的,如果2个点中有一个纵坐标为0,那么就可以按照三角形面积公式否则就按照梯形面积公式计算(其实完全可以化成一个式子)。把每次的面积累加,就可以得到最后结果。
#include <stdio.h>
#define max 1000
double a[max];
int main()
{
//freopen("in.txt","r",stdin);
int n;
while(scanf("%d",&n)!=EOF){
int i;
double ret = 0;
for(i = 0;i<n;i++){
scanf("%lf",&a[i]);
}
for(i = 1;i<n;i++){
if(a[i-1] == 0){
ret += 1.0 * a[i] /2;
}else if( a[i] == 0){
ret += 1.0 * a[i-1] /2;
}else{
ret += 1.0*(a[i]+a[i-1]) /2;
}
}
printf("%.3f\n",ret);
}
return 0;
// fclose(stdin);
}
F题 直角三角形
题意分析
这题暴力枚举就行,3层循环嵌套,貌似之前做过一个什么男人女人小孩多少钱的问题,和那个类似。
但是要注意保证非降序输出,于是在多层嵌套循环起始条件又有要求。
第二层j起始值为第一层i的值,第三层k起始值为第二层,这样能保证非降序并且相同的数据只输出一次。
如果在区间内遍历完,发现没有可以输出的直角三角形组合,那就输出NO(不是No),可以设置标志变量flag,如果找到一组,flag=1,最后遍历完,判断flag,为0输出NO,否则什么都不做。
#include <stdio.h>
int main()
{
//freopen("out.txt","w",stdout);
int x,y;
while(scanf("%d %d",&x,&y) != EOF){
int i,j,k;
int flag = 0;
for(i = x;i<=y;i++){
for(j = i;j<=y;j++){
for(k = j;k<= y;k++){
if(i+j>k){
if(i*i+j*j==k*k){
flag = 1;
printf("%d %d %d\n",i,j,k);
}
}
}
}
}
if(!flag){
printf("NO\n");
}
}
return 0;
// fclose(stdout);
}
AOJ.综合训练.2016-11-24的更多相关文章
- Unparseable date: "Mon Aug 15 11:24:39 CST 2016",时间格式转换异常
String datestr= "Mon Aug 15 11:24:39 CST 2016";//Date的默认格式显示 Date date=new SimpleDateForma ...
- U3D笔记11:47 2016/11/30-15:15 2016/12/19
11:47 2016/11/30Before you can load a level you have to add it to the list of levels used in the gam ...
- 【读书笔记】2016.11.19 北航 《GDG 谷歌开发者大会》整理
2016.11.19 周六,我们在 北航参加了<GDG 谷歌开发者大会>,在web专场,聆听了谷歌公司的与会专家的技术分享. 中午免费的午餐,下午精美的下午茶,还有精湛的技术,都是我们队谷 ...
- 微信iphone7、 ios10播放视频解决方案 2016.11.10
2016.11.10日更新以下方法 微信最新出同层播放规范 即使是官方的也无法解决所有android手机的问题. 另外iphone 5 .5s 某些手机始终会弹出播放,请继续采用 “以下是老的解决办法 ...
- 最新的 cocoapods 安装与使用(2016.11)
cocoapods简介: cocoapods 是iOS的类库管理工具,可以让开发者很方便集成各种第三方库,而不用去网站上一个个下载,再一个个文件夹的拖进项目中,还得添加相关的系统依赖库.只需要安装好c ...
- 【转载】webstorm11(注册,激活,破解,码,一起支持正版,最新可用)(2016.11.16更新)
很多人都发现 http://idea.lanyus.com/ 不能激活了 很多帖子说的 http://15.idea.lanyus.com/ 之类都用不了了 最近封的厉害仅作测试 选择 License ...
- 2016.3.24 OneZero站立会议
会议时间:2016.3.24 15:35-15:55 会议成员:王巍 夏一名 冉华 张敏 会议内容: 1.确立UI界面原形(见http://www.cnblogs.com/zhangminss/p/5 ...
- Murano Weekly Meeting 2016.05.24
Meeting time: 2016.May.24 1:00~2:00 Chairperson: Kirill Zaitsev, from Mirantis Meeting summary: 1.A ...
- github javascript相关项目star数排行榜(前30,截止2016.11.18):
github javascript相关项目star数排行榜(前30,截止2016.11.18): 前端开源框架 TOP 100 前端 TOP 100:::::https://www.awesomes. ...
随机推荐
- zipaligin的使用介绍
近来一直在做APK反编译和重编译的工作,针对一些apk需要放入一些相应的文件,(当然这里不涉及非法盈利,都是有合约的),在对一些包打包以后,发现可以通过一个叫做zipalign的工具进行优化,对于这个 ...
- 「日常训练」Kefa and Company(Codeforces Round #321 Div. 2 B)
题意与分析(CodeForces 580B) \(n\)个人,告诉你\(n\)个人的工资,每个人还有一个权值.现在从这n个人中选出m个人,使得他们的权值之和最大,但是对于选中的人而言,其他被选中的人的 ...
- Python 集合内置函数大全(非常全!)
Python集合内置函数操作大全 集合(s).方法名 等价符号 方法说明 s.issubset(t) s <= t 子集测试(允许不严格意义上的子集):s 中所有的元素都是 t 的成员 s ...
- Python序列及其操作(常见)
python序列及函数入门认识: 0. 我们根据列表.元组和字符串的共同特点,把它们三统称为什么? 序列,因为他们有以下共同点: 1)都可以通过索引得到每一个元素 2)默认索引值总是从0开始(当 ...
- 用Python实现一个端口扫描,只需简单几步就好
一.常见端口扫描的原理 0.秘密扫描 秘密扫描是一种不被审计工具所检测的扫描技术. 它通常用于在通过普通的防火墙或路由器的筛选(filtering)时隐藏自己. 秘密扫描能躲避IDS.防火墙.包过滤器 ...
- 树莓派怎么连接无线网wifi?
没有显示器的同学,想要连接无线网,一定非常苦恼,前面教会了大家远程登录图形界面,下面我将教会大家:在没有图形界面的情况下,怎么连接树莓派WiFi.同样还是利用putty远程访问软件登录,但这次不需要登 ...
- 校招小白机考入坑之从键盘输入java的各种数据类型
//1.从键盘输入一个整型(其他基本类型类似) Scanner sc =new Scanner(System.in); sc.hasNextInt(); int str1 = sc.nextInt() ...
- 剑指offer-字符串的排列26
题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述: 输 ...
- Python的string模块化方法
Python 2.X中曾经存在过一个string模块,这个模块里面有很多操作字符串的方法,但是在Python 3.X中,这些模块化方法已经被移除了(但是string模块本身没有被移除,因为它还有其他可 ...
- 软工1816 · Alpha冲刺(4/10)
团队信息 队名:爸爸饿了 组长博客:here 作业博客:here 组员情况 组员1(组长):王彬 过去两天完成了哪些任务 完成菜品信息的标定.量化以及整理成csv的任务 接下来的计划 & ...