优雅的点

小易有一个圆心在坐标原点的圆,小易知道圆的半径的平方。小易认为在圆上的点而且横纵坐标都是整数的点是优雅的,小易现在想寻找一个算法计算出优雅的点的个数,请你来帮帮他。
例如:半径的平方如果为25
优雅的点就有:(+/-3, +/-4), (+/-4, +/-3), (0, +/-5) (+/-5, 0),一共12个点。

输入描述:
输入为一个整数,即为圆半径的平方,范围在32位int范围内。
输出描述:
输出为一个整数,即为优雅的点的个数
输入例子:
25
输出例子:
12

#include<iostream>
#include<math.h>
using namespace std;
int main(){
int n;
int i=0;
cin>>n;
int a=sqrt(n);

for(int x=-a;x<=a;x++){
int y=sqrt(n-x*x);
if(x*x+y*y==n)
i++;
}
i*=2;
if(a*a==n)
i=i-2;
cout<<i;
return 0;
}
/*时间复杂度大,提交时超时*/
/*#include<iostream>
#include<math.h>
using namespace std;
int main(){
int n,i=0;
cin>>n;
int a=sqrt(n);
for(int x=-a;x<=a;x++){
for(int y=-a;y<=a;y++){
if(x*x+y*y==n)
i++;
}
}
cout<<i;
return 0;
}*/

时间: 2024-08-03 18:54:44

优雅的点的相关文章

.NET深入解析LINQ框架(一:LINQ优雅的前奏)

阅读目录: 1.LINQ简述 2.LINQ优雅前奏的音符 2.1.隐式类型 (由编辑器自动根据表达式推断出对象的最终类型) 2.2.对象初始化器 (简化了对象的创建及初始化的过程) 2.3.Lambda表达式 (对匿名方法的改进,加入了委托签名的类型推断并很好的与表达式树的结合) 2.4.扩展方法 (允许在不修改类型的内部代码的情况下为类型添加独立的行为) 2.5.匿名类型 (由对象初始化器推断得出的类型,该类型在编译后自动创建) 2.6.表达式目录树(用数据结构表示程序逻辑代码) 3.LINQ

.NET深入解析LINQ框架(二:LINQ优雅的前奏)

阅读目录: 1.LINQ框架的主要设计模型 1.1.链式设计模式 (以流水线般的链接方式设计系统逻辑) 1.2.链式查询方法(逐步加工查询表达式中的每一个工作点) 2.LINQ框架的核心设计原理 2.1.托管语言之上的语言(LINQ查询表达式) 2.2.托管语言构造的基础(LINQ依附通用接口与查询操作符对应的方法对接) 2.3.深入IEnumerable.IEnumerable<T>.Enumerable(LINQ to Object框架的入口) 2.4.深入IQueryable.IQuer

优雅的css写法

一.利用好代码折叠 css也可以进行优雅的代码折叠而且会比html更好看 折叠后的效果: 这样就可以很舒服的把它折叠起来. 二.向Twitter Bootstrap学习 1. 学习的第一点就是用class,去减少id.当然这是一个很基本的知识. 2. 学习的第二点是命名的词汇. 如group.control.banner.list.item,title.panel.content.container这些表结构和关系的词汇: 还有一些形容词danger.primary.lg.xs.info等等:

如何优雅的研究 RGSS3 (七) 添加LOGO画面

为游戏添加 LOGO 画面. 首先要设计 LOGO 场景类,我们知道场景类都是 Scene_Base 的子类. 我们来回顾一下场景的工作原理. 首先执行开始处理,接着是开始后处理,然后是不停的更新画面,最后结束前处理,然后结束处理. 下面来逐个分析这些方法. 当进入 LOGO 画面时,显然不需要也不可能回到上一个画面,因此在开始处理的方法中,我们要清空场景的切换记录. 接下来要创建出需要显示的 LOGO 图片,但是不能让它立即显示,而是要使其淡入画面,因此要冻结住图像的显示. 最后播放 LOGO

Atom:优雅迷人的编辑神器

对于热爱markdown写作的人来说,Atom同样是一款拥有无穷魅力的写作软件.我不怕它无法满足你的需求,就怕你不给一个机会了解它,那么,这将是一场遗憾的错过. 大学的时候,坊间对那些编程高手有一个令人向往的传说,大概说的是大神们能够直接使用text纯文本写代码.觉得这种级别的境界特别高大上特别有逼格.自己用eclipse,vs这些带有代码补全功能的IDE就感觉有点low.于是在很长一段时间里,都是带着信仰去追求这种境界的. 直到后来发现了一款神器,加上认知的慢慢提高,我的这个高大上的信仰,被打

少年,是时候换种更优雅的方式部署你的php代码了

让我们来回忆下上次你是怎么发布你的代码的: 1. 先把线上的代码用ftp备份下来 2. 上传修改了的文件 3. 测试一下功能是否正常 4. 网站500了,赶紧用备份替换回去 5. 替换错了/替换漏了 6. 一台服务器发布成功 7. 登录每一台执行一遍发布操作 8. 加班搞定 9. 老板发飙 ... 尤其现在的互联网行业,讲究快速迭代,小步快跑.像bug修复或者小功能的修改几乎每天都发版本,大功能的版本迭代每周也差不多会有一次.相信不少同行们像我上面说的这样发布自己的代码吧.或者可能先进一点,直接

如何优雅地使用Sublime Text

Sublime Text:一款具有代码高亮.语法提示.自动完成且反应快速的编辑器软件,不仅具有华丽的界面,还支持插件扩展机制,用她来写代码,绝对是一种享受.相比于难于上手的Vim,浮肿沉重的Eclipse,VS,即便体积轻巧迅速启动的Editplus.Notepad++,在SublimeText面前大略显失色,无疑这款性感无比的编辑器是Coding和Writing最佳的选择,没有之一. 如何优雅地使用Sublime Text之目录: Sublime Text 2和3的对比 Sublime Tex

如何写出优雅的CSS代码 ?(转)

对于同样的项目或者是一个网页,尽管最终每个前端开发工程师都可以实现相同的效果,但是他们所写的代码一定是不同的.有的优雅,看起来清晰易懂,代码具有可拓展性,这样的代码有利于团队合作和后期的维护:而有的混乱,虽然表达出了最终的效果,然而却晦涩难懂,显然团队成员在读这样的代码时就显得无从下手,更不利于后期的维护了.那么如何写出优雅的代码呢?下面我将以一个很小的项目就以下几个方面简单的表达一下自己的看法,如有不妥,望批评指正. 如何整理一个项目. 如何写出清晰易懂的HTML代码. 如何写出优雅的css代

渐进坚强、优雅降级

你能描述一下渐进增强和优雅降级之间的不同吗? 优雅降级和渐进增强印象中是随着css3流出来的一个概念.由于低级浏览器不支持css3,但css3的效果又太优秀不忍放弃,所以在高级浏览中使用css3而低级浏览器只保证最基本的功能.咋一看两个概念差不多,都是在关注不同浏览器下的不同体验,关键的区别是他们所侧重的内容,以及这种不同造成的工作流程的差异. 举个例子: a{    display: block;    width: 200px;    height: 100px;    background

Linux优雅使用哲学

Linux 的精髓在于它的命令行CLI (Command LIne) 和远程登录,我们要牢记,Linux 是作为一个服务器系统和嵌入式系统的价值而存在,而不是他的鸡肋桌面版.Linux 各种图形版桌面Xwindow 的发展有着先天的残缺,除非推倒重来,否则难以撼动 Windows 和 Mac OS 的地位.错误的 Linux 学习和使用方式会使新手疲于盲目折腾,难以领悟 Linux 的魅力,直至对 Linux 失去兴趣.Linux 使用哲学: 需求原则,一切以自身需求出发. 只使用各种发行版的命