我必须在没有对称解决方案的Haskell中完成Pythagorean三重奏.我的尝试是:
terna :: Int -> [(Int,Int,Int)]
terna x = [(a,b,c)|a<-[1..x], b<-[1..x], c<-[1..x], (a^2)+(b^2) == (c^2)]
Run Code Online (Sandbox Code Playgroud)
我得到的结果是:
Main> terna 10
[(3,4,5),(4,3,5),(6,8,10),(8,6,10)]
Run Code Online (Sandbox Code Playgroud)
如你所见,我得到了对称的解决方案,如:(3,4,5)(4,3,5).我需要摆脱它们,但我不知道如何.谁能帮我?
我正在尝试使用ActiViz.NET和Visual Studio 2013从我的WPF项目中的vtk库加载RenderWindowControl.该库工作正常,因为我做了一个新项目只是为了练习但是当我尝试将它集成到我的工作中时,我得到了这次是一个null RenderWindowControl.这是我的代码:
MainWindow.xaml:
<Window x:Class="myProject.Views.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:VtkTab="clr-namespace:myProject.Views.UITabs.VtkTab"
x:Name="Mainwindow"
MinHeight="600"
MinWidth="800"
Title="{Binding Title}"
Height="720"
Width="1280"
Icon="{StaticResource ApplicationIcon}"
Loaded="OnLoaded"
DataContext="{Binding Main, Source={StaticResource ViewModelLocator}}"
Style="{StaticResource WindowStyle}"
mc:Ignorable="d">
<DockPanel>
<TabControl>
....
....
<VtkTab:VtkTabView />
....
....
</TabControl>
</DockPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)
VtkTabView.xaml:
<UserControl x:Class="myProject.Views.UITabs.VtkTab.VtkTabView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vtk="clr-namespace:Kitware.VTK;assembly=Kitware.VTK"
Loaded="WindowLoaded"
Height="480" Width="640">
<WindowsFormsHost Name="Wfh">
<vtk:RenderWindowControl x:Name="RenderControl" />
</WindowsFormsHost>
</UserControl>
Run Code Online (Sandbox Code Playgroud)
VtkTabView.xaml.cs:
public partial class UITabView
{
protected static Random _random = new Random();
vtkActor actor = vtkActor.New();
public VtkTabView()
{
InitializeComponent();
var sphere = …Run Code Online (Sandbox Code Playgroud) 我必须做一个练习,我很丢失......我需要用多项式为Ord做一个实例.这是我的尝试:
data Pol = P [(Float,Int)] deriving Show
instance Ord Pol where
(Pol a) > (Pol b) = (maxGrado a) > (maxGrado b) || ((maxGrado a) == (maxGrado b) && (maxCoe a) > (maxCoe b))
(Pol a) < (Pol b) = (maxGrado a) < (maxGrado b) || ((maxGrado a) == (maxGrado b) && (maxCoe a) < (maxCoe b))
maxGrado :: [(Float,Int)] -> Int
maxGrado [] = 0
maxGrado ((c,g):xs) = g
maxCoe :: [(Float,Int)] -> Int
maxCoe [] = 0 …Run Code Online (Sandbox Code Playgroud)