SQUARE Probelm_codewars daily train9/27
来源:互联网 发布:崩坏3rd初始号淘宝 编辑:程序博客网 时间:2024/06/06 01:53
questions come from www.codewars.com
You're a square!
A square of squares
You like building blocks. You especially like building blocks that are squares. And what you even like more, is to arrange them into a square of square building blocks!
However, sometimes, you can't arrange them into a square. Instead, you end up with an ordinary rectangle! Those blasted things! If you just had a way to know, whether you're currently working in vain… Wait! That's it! You just have to check if your number of building blocks is a perfect square.
Task
Given an integral number, determine if it's a square number:
In mathematics, a square number or perfect square is an integer that is the square of an integer; in other words, it is the product of some integer with itself.
The tests will always use some integral number, so don't worry about that in dynamic typed languages.
Examples
isSquare(-1) // => falseisSquare( 3) // => falseisSquare( 4) // => trueisSquare(25) // => trueisSquare(26) // => false
solution
var isSquare = function(n){ var sqrt; sqrt = Math.pow(n,1/2); return isIntegral(sqrt); // fix me}function isIntegral(n) { return (typeof(n)==="number") && (Math.trunc(n)===n);//or Math. round}
testcases
Test.describe("isSquare", function(){ Test.it("should work for some examples", function(){ Test.expect(!isSquare(-1), "Negative numbers cannot be square numbers"); Test.expect(!isSquare( 3)); Test.expect( isSquare( 4)); Test.expect( isSquare(25)); Test.expect(!isSquare(26)); }); Test.it("should work for random square numbers", function(){ var r, i; for(i = 0; i < 100; ++i){ r = (Math.random() * 0xfff0) | 0; Test.expect(isSquare(r*r), (r * r) + " is a square number"); } });});
More solutions from 在JavaScript中判断整型的N种方法
- SQUARE Probelm_codewars daily train9/27
- Daily
- From China Daily 27/5
- leetCode(27):Maximal Square
- Square
- Square
- Square
- Square
- Square
- Square
- Square
- Square
- Square
- the Secret DAILY TEACHINGS-Day 27
- Daily Report 2012年2月27日
- Daily sql collection -Updated on Mar 27th,2013
- English daily
- Daily Meeting
- 蓝的成长记——追逐DBA(20):何故缘起,建库护航
- *LeetCode-Kth Largest Element in an Array
- 在线图片处理工具集合
- OpenCV中feature2D学习——ORB和BruteForceMatcher
- Text Justification
- SQUARE Probelm_codewars daily train9/27
- js对节点的操作,添加,删除,获得父节点,子节点,兄弟节点
- django admin 报错没有发现 table
- Handler消息传递机制
- LeetCode 题解(242) : Palindrome Permutation II
- Binary Search
- [Leetcode] Word Break
- 晶联讯1353显示屏测试程序
- Python 之包(Package)与模(Module)