csharp进阶练习题:大小【难度:2级】:
我们将在任何笛卡尔或极坐标形式的列表表示复数,使用的第一个元素作为
一种类型的标签;所述标签可以是'cart
或[' 购物 ']
(对于笛卡尔),' polar
或[ '极性']
.标签的形式取决于语言.
'(车3 4)
或[' 车",3,4]
表示复数(+ 3(* 4 0 + 1i)中)``即3 + 4i
'(极性2 3)
或[' 极性",2,3]
表示与模量(或幅度)2
和角度3
复数.
以同样的方式
'(购物车1 2 3 4 5 6)
或[' 车",1,2,3,4,5,6]
包括三个复数’1 + 2 1,3 + 4I,5 + 6I `'(极性2 1 2 2 2 3)
或[' 极性",2,1,2,2,2,3]
表示复数(2,1),(2,2), (2,3)
在极坐标形式,其中量值2,2,2
和角度’1,2,3`.
注意:
- 复数
Z = A + bi
是Z =(R,θ)= R(COSθ+isinθ)
,其中R的极性形成= | Z | = A ^ 2个+ B ^ 2
是模数的平方根. - 直角坐标或极坐标形式列出将始终包含至少三个元素和复数的偶数.
在通过cart
或开始列出polar
所有条款后的标签必须是integers
(注意,在球拍
(整数?2.0)``返回#t
).
任务
鉴于复数z
在以前的形式之一的顺序,我们首先计算的平方modulus
的``sums
z的
所有复杂的元素,如果z
是正确的形式.
我们的功能SQR-modulus
返回三个元素的列表;该列表的形式将取决于语言:
- 此列表的第一个元素是一个布尔值:
#t
或TRUE;如果z是在正确的形式如先前(正确类型的数字,正确标签)中所定义
#F
或False
if z是不正确的形式.
-
列表的第二个元素是和
将* 的s
方在’z如果返回的布尔是真实的所有复数* 模量,
-1`if它是假的. -
第三个元素是通过重新排列s
的
数字得到了最大的作用.
我们承认,数量最多拿到from-1
是1
.
例子:
(SQR-模量 '(购物车3 4)) - >'(#T 25 52)
(SQR-模量 '(车3 4 3 4)) - >'(#T 50 50)
(SQR-模量 '(极性2531 3261)) - >'(#T 6405961 9665410)
(SQR-模量 '(极性2 3 2 4)) - >'(#T 8×8)
(SQR-模量 '(极性 "2" 3)) - >'(#F -1 1)
(SQR-模量 '(波拉2 3)) - >'(#F -1 1)
(SQR-模量 '(车3 4.1)) - >'(#F -1 1)
sqr_modulus([ '车',3,4]) - >(真,25,52)
sqr_modulus([ '车',3,4,3,4]) - >(真,50,50)
sqr_modulus([ '极性',2531,3261]) - >(真,6405961,9665410)
sqr_modulus([ '极性',2,3,2,4]) - >(真,8,8)
sqr_modulus([ '极性' "2",3]) - >(假,-1,1)
sqr_modulus([ '波拉',2,3]) - >(假,-1,1)
sqr_modulus([ '车',3,4.1]) - >(假,-1,1)
注意:
翻译之前,请先问:有些翻译已写入,当/如果习题被批准公布.
编程目标:
using System;
using System.Collections.Generic;
class Magnitude
{
public static List SqrModulus(List ls)
{
// your code
}
}
测试样例:
using System;
using System.Linq;
using System.Collections.Generic;
using NUnit.Framework;
[TestFixture]
public static class MagnitudeTests
{
private static void testing(List ls, List exp)
string actual = String.Join(", ", ans.Select(p=>p.ToString()).ToArray());
string expect = String.Join(", ", exp.Select(p=>p.ToString()).ToArray());
Assert.AreEqual(expect, actual);
}
[Test]
public static void atest0()
{
最佳答案(多种解法):
更多关联题目:
csharp基础练习题:返回缺少的元素【难度:1级】–景越C# 经典编程题库,不同难度C# 练习题,适合自学C# 的新手进阶训练
csharp基础练习题:最大倍【难度:1级】–景越C# 经典编程题库,不同难度C# 练习题,适合自学C# 的新手进阶训练
免责申明
本博客所有编程题目及答案均收集自互联网,主要用于供网友学习参考,如有侵犯你的权益请联系管理员及时删除,谢谢
题目收集至https://www.codewars.com/
https://www.codewars.com/kata/magnitude