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的更多相关文章

  1. 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 ...

  2. 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 ...

  3. 【读书笔记】2016.11.19 北航 《GDG 谷歌开发者大会》整理

    2016.11.19 周六,我们在 北航参加了<GDG 谷歌开发者大会>,在web专场,聆听了谷歌公司的与会专家的技术分享. 中午免费的午餐,下午精美的下午茶,还有精湛的技术,都是我们队谷 ...

  4. 微信iphone7、 ios10播放视频解决方案 2016.11.10

    2016.11.10日更新以下方法 微信最新出同层播放规范 即使是官方的也无法解决所有android手机的问题. 另外iphone 5 .5s 某些手机始终会弹出播放,请继续采用 “以下是老的解决办法 ...

  5. 最新的 cocoapods 安装与使用(2016.11)

    cocoapods简介: cocoapods 是iOS的类库管理工具,可以让开发者很方便集成各种第三方库,而不用去网站上一个个下载,再一个个文件夹的拖进项目中,还得添加相关的系统依赖库.只需要安装好c ...

  6. 【转载】webstorm11(注册,激活,破解,码,一起支持正版,最新可用)(2016.11.16更新)

    很多人都发现 http://idea.lanyus.com/ 不能激活了 很多帖子说的 http://15.idea.lanyus.com/ 之类都用不了了 最近封的厉害仅作测试 选择 License ...

  7. 2016.3.24 OneZero站立会议

    会议时间:2016.3.24 15:35-15:55 会议成员:王巍 夏一名 冉华 张敏 会议内容: 1.确立UI界面原形(见http://www.cnblogs.com/zhangminss/p/5 ...

  8. Murano Weekly Meeting 2016.05.24

    Meeting time: 2016.May.24 1:00~2:00 Chairperson:  Kirill Zaitsev, from Mirantis Meeting summary: 1.A ...

  9. github javascript相关项目star数排行榜(前30,截止2016.11.18):

    github javascript相关项目star数排行榜(前30,截止2016.11.18): 前端开源框架 TOP 100 前端 TOP 100:::::https://www.awesomes. ...

随机推荐

  1. Spring学习记录-Java 11运行eureka-server报javax.xml.bind.JAXBContext not present错

    在pom.xml加入依赖就行 <dependency> <groupId>org.glassfish.jaxb</groupId> <artifactId&g ...

  2. RAP2环境搭建整理(超详细)

    RAP2是阿里开源的接口管理平台,最近搭建了一下,将部署文档整理如下: 如果途中遇坑会在文章末尾记录下来嘻嘻 首先,确定环境是否部署好. RAP2所需的环境为: node.js 8.9.4+ mysq ...

  3. EditorGUI控件输入监听

    EditorGUI控件输入监听 在做编辑器开放的过程中,有时候要对用户输入进行判断和限制,但EditorGUI控件却没有触发回调,而是提供了一种麻烦的办法--使用EditorGUI.BeginChan ...

  4. Java开发工程师(Web方向) - 03.数据库开发 - 第1章.JDBC

    第1章--JDBC JDBC基础 通过Java Database Connectivity可以实现Java程序对后端数据库的访问 一个完整的数据库部署架构,通常是由客户端和服务器端两部分组成 客户端封 ...

  5. flume 整合 kafka

    flume 整合 kafka:   flume:高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统. kafka:分布式的流数据平台.   flume 采集业务日志,发送到kafka   一. ...

  6. some Commands OF CONSOLE

    不可避免地使用console,一旦与电脑打交道:入口就是help,而很多行就直接过掉了,却不能看到需要的地方,在那里停下来,实际是需要使用more  less grep等 在windows中,使用di ...

  7. POJ 2287 田忌赛马 贪心算法

    田忌赛马,大致题意是田忌和国王赛马,赢一局得200元,输一局输掉200元,平局则财产不动. 先输入一个整数N,接下来一行是田忌的N匹马,下一行是国王的N匹马.当N为0时结束. 此题为贪心算法解答,有两 ...

  8. Jamie and Alarm Snooze

    Description Jamie loves sleeping. One day, he decides that he needs to wake up at exactly hh: mm. Ho ...

  9. 《剑指offer》---把数组排成最小的数

    本文算法使用python3实现 1 题目描述:   输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组 $ [3,32,321] $ ,则打印出这 ...

  10. lintcode-14-二分查找

    二分查找 给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1. 样例 在数组 ...