C Number Steps(九度OJ 1136)
来源:互联网 发布:人工智能用go语言开发 编辑:程序博客网 时间:2024/06/14 06:45
- 题目描述:
Starting from point (0,0) on a plane, we have written all non-negative integers 0,1,2, ... as shown in the figure. For example, 1, 2, and 3 has been written at points (1,1), (2,0), and (3, 1) respectively and this pattern has continued.
You are to write a program that reads the coordinates of a point (x, y), and writes the number (if any) that has been written at that point. (x, y) coordinates in the input are in the range 0...5000.
- 输入:
The first line of the input is N, the number of test cases for this problem. In each of the N following lines, there is x, and y representing the coordinates (x, y) of a point.
- 输出:
For each point in the input, write the number written at that point or write No Number if there is none.
- 样例输入:
34 26 63 4
- 样例输出:
612No Number
- 来源:
- 2008年北京大学软件所计算机研究生机试真题
题目分析:
根据输入的点坐标(x,y)输出坐标对应的数,通过观察上图可发现:
(1)当x=y时,若x、y为偶数,则对应的数为x+y;若x、y为奇数,则对应的数为x+y-1;
(2)当x!=y,且x-y=2时,若x、y为偶数,则对应的数为x+y;若x、y为奇数,则对应的数为x+y-1;
(3)当x=y=0时,对应的数为0;
(4)其它情况,输出No Number,对应的数不存在。
源代码:
#include <stdio.h>int num(int x,int y) //返回计算结果,如果输出“No Number”则返回-1{ if(x==0 && y==0) return 0; else if((x==y||x-y==2) && x%2==1 && y%2==1) return x+y-1; else if((x==y||x-y==2) && x%2==0 && y%2==0) return x+y; else return -1;}int main(){ int N; int x,y; int result; scanf("%d",&N); while(N>0) { scanf("%d %d",&x,&y); result=num(x,y); if(result!=-1) printf("%d\n",result); else printf("No Number\n"); N--; } return 0;}
程序截图:
- C Number Steps(九度OJ 1136)
- 九度OJ 题目1136:Number Steps
- 九度OJ 题目1136:Number Steps
- 九度oj-1136-Number Steps
- 九度OJ 1136:Number Steps(步数) (基础题)
- hdu-oj 1391 Number Steps
- 九度OJ 1040:Prime Number(质数) (递归)
- 九度oj Prime Number 1040 (素数打表)
- C ZOJ(九度OJ 1032)
- 九度OJ 1422 Closest Number
- 九度oj 1380 lucky number + 二进制
- 九度OJ-1040:Prime Number
- 九度 oj 题目1040:Prime Number
- 九度OJ题目1040:Prime Number
- 九度OJ 1040:Prime Number
- 题目1136:Number Steps
- 题目1136:Number Steps
- 九度oj 1136
- 串口通信
- Sybase ASE 15.0/15.5/15.7安装介质下载地址
- 二叉树学习小结(序列化和反序列化、二叉树遍历、二叉树镜像、二叉搜索树、二叉树子结构等)
- iOS-Xcode 8解决真机测试Log被屏蔽的问题
- TensorFlow学习笔记(四):Tensorflow网络构建和TensorBoard进行训练过程可视化
- C Number Steps(九度OJ 1136)
- Spring Session + Redis实现分布式Session共享
- jstorm 源码分析: supervisor
- 数据结构之线性表(C++) -- 链式描述
- vmware centos7 桥接的网络--连不通
- 10.1
- React实战-如何在ReactJs中调用Google、Baidu地图
- appium2 虚拟机调试
- 插入排序