csharp进阶练习题:Figurate数字#1 - 五角形数字【难度:2级】:
NEXT KATA>
任务:
你必须编写三个函数,即``PNum,GPNum和SPNum(JS,Coffee)或
p_num,g_p_num和s_p_num(Python和Ruby)或
pNum,gpNum和spNum(Java,C#)或
p- num,gp-num和sp-num`(Clojure) - 检查给定的参数’n’是否是五角形,广义五角形或方形五角形数字,如果是,则返回true,否则返回false.
描述:
“五角形数字” - 第n个五边形数字Pn是点状图案中的不同点的数量,由五边形重叠的正五边形轮廓组成,边长达n个点(表示边包含n个点)这样他们就可以共享一个顶点.
前几个五角形数字是:1,5,12,22 …
“广义五角形数字” - 所有五角形数字以及形成五边形数字五边形的图案的所有五边形轮廓内的点数被称为广义五角形数字.
前几个广义五角形数字是:0,1,2,5,7,12,15,22 …
“方形五角形数字” - 五角形数字也是一个完美的方形被称为方形五角形数字.
前几个是:1,9801,94109401 …
解释通过示例:
注意 -
- Pn =第五个五角形数字
- Gpn =第N个广义五角数
^ ^ ^ ^ ^
P1 = 1 P2 = 5 P3 = 12 P4 = 22 P5 = 35 //模式中使用的不同点的总数
Gp2 = 1 Gp4 = 5 Gp6 = 12 Gp8 = 22 //所有五角数都是广义的
Gp1 = 0 Gp3 = 2 Gp5 = 7 Gp7 = 15 //最外面的五角大楼内的总点数
所有我的清单KATAS <<<
编程目标:
using System;
public class Penta {
public static Boolean pNum(long n) {
// Happy Coding ^_^
}
public static Boolean gpNum(long n) {
// Happy Coding ^_^
}
public static Boolean spNum(long n) {
//Happy Coding ^_^
}
}
测试样例:
using System;
using NUnit.Framework;
[TestFixture]
public class PentaTests {
[Test]
public void Test1() {
Console.WriteLine("****** Basic tests small pNum******");
Assert.AreEqual(false, Penta.pNum(2));
Assert.AreEqual(false, Penta.pNum(3));
Assert.AreEqual(false, Penta.pNum(4));
Assert.AreEqual(true, Penta.pNum(5));
}
[Test]
public void Test2() {
最佳答案(多种解法):
更多关联题目:
csharp基础练习题:反转值【难度:0级】–景越C# 经典编程题库,不同难度C# 练习题,适合自学C# 的新手进阶训练
csharp进阶练习题:幸运票【难度:2级】–景越C# 经典编程题库,不同难度C# 练习题,适合自学C# 的新手进阶训练
免责申明
本博客所有编程题目及答案均收集自互联网,主要用于供网友学习参考,如有侵犯你的权益请联系管理员及时删除,谢谢
题目收集至https://www.codewars.com/
https://www.codewars.com/kata/figurate-numbers-number-1-pentagonal-number
来源:https://blog.csdn.net/weixin_45444821/article/details/100903437