Tag: pascal

生成毕达哥拉斯三元组的最佳方法是什么?

当你只检查a和b的所有组合然后检查c的平方根是否为整数,但是那个代码真的很慢,然后我尝试使用Euclid的公式时,我尝试了这个简单的代码 a = d*(n^2 – m^2) b = 2*n*m*d c = d*(n^2 + m^2) 我写了一个代码,你首先找到n trunc(sqrt(max_value)) //this is in pascal 然后你检查0 <m <n的每个组合,但我得到重复的结果,如果n是7,m是5,d是1,n是6,m是1,d是2。 在这两种情况下,你得到24,70和74.那么什么是计算毕达哥拉斯三元组数量的快速方法,我似乎无法找到方法,如果我将所有结果添加到数组,然后检查重复的数组,它只需要太多的时间…如果有人可以帮助我的代码,它可以是pascal,c或python,我可以理解所有…

控制台应用程序运行速度比GUI应用程序快

我对编程世界相对较新。 我有一些性能问题: 控制台应用程序的运行速度比具有图形用户界面的应用程 像C和Pascal这样的语言比C ++和Delphi这样的面向对象语言更快吗? 我知道语言速度更多地依赖于编译器而不是语言本身,但是程序语言的编译器是否比OO编译器(包括可以生成C代码的C ++编译器)产生更快的代码?

在C中声明Pascal样式的字符串

在C中,有一个很好的方法来首先定义长度,Pascal样式的字符串作为常量,所以它们可以放在ROM中吗? (我正在使用一个带有非GCC ANSI C编译器的小型嵌入式系统)。 例如,C字符串被终止。 { ‘f’ , ‘o’ , ‘o’ , 0 }。 Pascal字符串的长度在第一个字节中,例如。 { 3 , ‘f’ , ‘o’ , ‘o’ }。 我可以声明一个C字符串放在ROM中: const char *s = “foo”; 对于Pascal字符串,我可以手动指定长度: const char s[] = {3, ‘f’, ‘o’, ‘o’}; 但是,这很尴尬。 有没有更好的办法? 也许在预处理器中?