优雅的点-2017网易校园招聘
来源:互联网 发布:unity3d城市场景模型 编辑:程序博客网 时间:2024/04/19 02:24
[编程题] 优雅的点
小易有一个圆心在坐标原点的圆,小易知道圆的半径的平方。小易认为在圆上的点而且横纵坐标都是整数的点是优雅的,小易现在想寻找一个算法计算出优雅的点的个数,请你来帮帮他。
例如:半径的平方如果为25
优雅的点就有:(+/-3, +/-4), (+/-4, +/-3), (0, +/-5) (+/-5, 0),一共12个点。
例如:半径的平方如果为25
优雅的点就有:(+/-3, +/-4), (+/-4, +/-3), (0, +/-5) (+/-5, 0),一共12个点。
输入描述:
输入为一个整数,即为圆半径的平方,范围在32位int范围内。
输出描述:
输出为一个整数,即为优雅的点的个数
输入例子:
25
输出例子:
12
解题思路:题目中有说 输入为圆半径的平方,所以只需要从1到R进行遍历,判断两个整数的平方是否为所求半径平方即可。
为什么是从1到R,而不是从0到R,因为由圆的高度对称性,只需要求第一象限和一条坐标轴上的点,然后结果×4
如何判定一个数的平方根是否为整数?int q = (int)sqrt(p); if(q * q == p)则为整数
#include <stdio.h>#include <math.h>int main(){int n, ans = 0;scanf("%d",&n);int t = (int)sqrt(n);if(t == 0) // 在原点,则只有一个点{++ans;}else{for(int i = 1; i <= t; ++i){int p = n-i*i;int q = (int)sqrt(p);if(q * q == p)++ans; }}printf("%d\n",t == 0?ans:ans*4);return 0;}
0 0
- 优雅的点-2017网易校园招聘
- 网易2017校园招聘笔试题 优雅的点
- 网易2017校园招聘笔试题:优雅的点
- 网易2017校园招聘笔试题:优雅的点
- 网易2017校园招聘笔试题——优雅的点
- 网易---优雅的点
- 网易2017校园招聘笔试题 最大的奇约数
- 回文序列-2017网易校园招聘
- 2017网易有道校园招聘笔试题
- 校园招聘--网易笔试
- 网易2017秋招编程题-优雅的点
- 网易2017秋招编程题----优雅的点
- 网易2017秋招编程题:优雅的点 [python]
- [编程题] 优雅的点--网易
- 网易校园招聘笔试题目
- 网易游戏2011校园招聘
- 网易校园招聘笔试题目
- 网易校园招聘dp题
- jdbc中 PreparedStatement 和Statement的区别
- oracle数据库spfile损毁
- 第7周项目2 -建立链队算法库
- 第七周 项目六 -【车库模型】
- zookeeper dubbo 配置错误总结
- 优雅的点-2017网易校园招聘
- Android Parcelable实现类混淆
- eclipse 配置 proguard4.3
- CI框架电子商城项目(1)——验证码
- 基类的设计
- SpringBoot-SpringData-JPA集成
- 第五周项目3-括号的搭配
- 第七周项目六--停车场模拟
- HDU 5925 Coconuts 离散化 + BFS