vc的速度有c语言快吗,大家帮看看,怎么回事?Delphi竟比vc++还快
已结贴√
问题点数:20 回复次数:15
大家帮看看,怎么回事?Delphi竟比vc++还快
前天有一个求素数个数问题,用delphi7.0求得100000000以内素数用时21.234秒,为想更快一点,把代码变为C语言后用vc++6.0计算居然要27.578秒,故把代码贴出,大家帮忙查找原因?
Delphi7.0代码:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,math;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var i, j, k, l,m,n,r:integer;
d,s:integer;
x,z,t,t1,t2: double;
a:array of integer;
ss:string;
begin
t1:=now;
ss:=trim(self.Edit1.Text );
if ss<>'' then n:=strtoint(ss) else n:=0;
setlength(a,n+1);
m:=0;s:=0;
if (n=2) then
begin
m:=1;a[m]:=2;s:=2;
end;
if (n=3) then
begin
m:=1;a[m]:=2;s:=2;
m:=2;a[m]:=3;s:=5;
end;
if (n>3) then
begin
m:=1;a[m]:=2;s:=2;
m:=2;a[m]:=3;s:=5;
for i:=4 to n do
begin
x:=i;z:=sqrt(x);l:=trunc(z)+1;k:=0;
for j:=1 to m do
begin
if (a[j]>l) then break;
r:=i mod a[j];
if (r = 0) then
begin
inc(k);break;
end;
end;
if (k = 0) then
begin
inc(m);
s := s + i;
a[m]:=i;
end;
end;
end;
t2:=now;
t:=(t2-t1)*86400;
ss:=floattostr(t);
self.Label5.Caption :=ss;
ss:=inttostr(m);
self.Label3.Caption :=ss;
end;
end.
vc++6.0代码:
// suhucs.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include
#include
#include
#include
#include
int main(int argc, char* argv[])
{
int i, j, k, l,m,n,r;
int d,s;
double x,z,t;
clock_t begin,end;
int *a;
printf("n=");
scanf("%d",&n);
printf("\n");
a=(int *)malloc((n+1)*sizeof(int)) ;
begin=clock();
m=0;s=0;
if(n==2)
{
m=1;a[m]=2;s=2;
}
if(n==3)
{
m=1;a[m]=2;s=2;
m=2;a[m]=3;s=5;
}
if(n>3)
{
m=1;a[m]=2;s=2;
m=2;a[m]=3;s=5;
for(i=4;i<=n;i++)
{
x=i;z=sqrt(x);l=(int)z+1;k=0;
for( j=1;j<= m;j++)
{
if(a[j]>l)break;
r=i%a[j];
if (r == 0) {
k++;break;
}
}
if (k == 0) {
m++;
s = s + i;
a[m]=i;
}
}
}
end=clock();
t=(double)(end-begin)/CLOCKS_PER_SEC;
printf("素数个数=%d\n",m);
printf("计算时间=%f",t);
free(a);
system("pause");
return 0;
}
vc的速度有c语言快吗,大家帮看看,怎么回事?Delphi竟比vc++还快相关推荐
- 小米8android版本点击3次,翻出古董小米3刷完安卓8.0,跑起来竟比MIUI9还快
原标题:翻出古董小米3刷完安卓8.0,跑起来竟比MIUI9还快 说起古董的小米3手机,算是小米史上比较失败的作品,尤其是英伟达处理器的版本.小米3也是最短命的小米手机之一,迫使小米提前发布了小米4. ...
- 分段线性插值c语言程序_【短道速滑】OpenCV中cvResize函数使用双线性插值缩小图像长宽大小一半时速度飞快(比最近邻还快)之异象解析和自我实现。...
点击上方↑↑↑"OpenCV学堂"关注我 作者网名:laviewpbt 是图像处理,算法实现与加速优化方面的大神!其开发的imageshop软件大小只有1MB,却实现了非常丰富与复 ...
- java基础巩固-宇宙第一AiYWM:为了维持生计,Redis基础Part6(Redis的应用场景、Redis是单线程的速度还快、Redis线程模型:Reactor模式、事件、发布订阅、管道)~整起
PART1-1:为什么Redis是单线程的 Redis单线程是指: Redis的网络IO和键值对读写是由一个线程来完成的.这也是 Redis 对外提供键值存储服务的主要流程.Redis的其他功能,比如 ...
- vc 运行c语言步骤,第1章_C语言概述(vc++环境如何运行c语言程序)[精选].ppt
第1章_C语言概述(vc环境如何运行c语言程序)[精选] C语言程序设计 授课对象:电子商务06 时间安排: 理论课(1-9周): 星期一 5-6节 9407D 星期三 5-6节 9410D 实验课( ...
- 2020移动apn接入点哪个快_手机WiFi网速度太慢?教你一招网速翻倍好用,比5G还快...
手机WiFi网速慢似蜗牛速度,出现这样的情况时,不要怀疑是你的WiFi有问题,其实只是你的手机不会设置,导致在连接WiFi使用手机时网速非常缓慢.下面就教大家一招快速提升网速,让你的手机瞬间流畅. 方 ...
- PyPy为什么能让Python比C还快?一文了解内在机制
作者|力元.馨月 来源|机器之心 「如果想让代码运行得更快,您应该使用 PyPy.」 - Python 之父 Guido van Rossum 对于研究人员来说,迅速把想法代码化并查看其是否行得通至关 ...
- SQL工具性能实测:居然比Navicat还快,数百万行数据导出仅51秒
如今的SQL语言逐渐成为职场人士必备的能力.为了让更多SQL用户有一款免费又好用的SQL工具,麦聪软件于2023年1月初发布了一款Web版SQL工具SQL Studio,一经推广就赢得了众多用户的注册 ...
- 揭秘 ClownFish 比手写代码还快的原因
说明:本文的第一版由于反对人数较多(推荐/反对数量是:23 / 17), 我在8月20日删除了博文内容,只留下一段简单的内容. 既然分享技术也引来这么多的反对,那我就不分享了. 如果希望知道我的优化方 ...
- 在M1芯片上跑原生Linux:编译速度比macOS还快40%,真香警告
Alex 发自 凹非寺 量子位 | 公众号 QbitAI 现在,M1 Mac可以顺利运行原生Linux了. 专为苹果自研芯片打造的Asahi Linux项目,Alpha版本已经释出. 在Mac采用英特 ...
最新文章
- python做自动化如何定位动态元素_python-web自动化-元素定位
- POJ1430 Binary Stirling Numbers
- rowdata java_Java RowDataUtil.addRowData方法代碼示例
- JVM类加载机制详解
- 显示所有大写字母python_python 输出所有大小写字母, range()以及列表切片
- P1052 过河 线性dp
- c语言函数 参数,C语言函数的调用与参数
- java oracle 乱码_oracle中的数据库乱码的原因与解决
- 零基础学习编程会遇到的坑
- 宾州州立计算机科学世界排名,宾州州立大学帕克分校qs世界排名
- 干货 | 产品助理入门攻略(一枚入行3年的PM内心独白)
- 真正了解gets() fgets() getc() fgetc()的区别
- 吴恩达机器学习______学习笔记记录#八、神经网络---表述
- Android初窥门径
- h5封装去底部_贪婪洞窟H5:也出微信小游戏了!还是原来贪婪的味道
- 一键智能抠图-原理与实现
- 银行卡归属地查询免费API
- 强化学习 之 蒙特卡洛方法
- 全球及中国智能机器人产业整体运营状况与投资产值分析报告2022版
- uniapp使用绝对定位被父元素截断问题
热门文章
- 接到一个需求,想在页面上加一个链接有多难?
- 码农与架构师之间的差距,究竟在哪里?
- Spring Boot 2.x基础教程:默认数据源Hikari的配置详解
- 死磕Java并发:深入分析CAS
- 命名实体识别_用膨胀卷积进行命名实体识别 NER
- zabbix服务器没有.pid文件,PID file /run/zabbix/zabbix_server.pid not readable (yet?) after start. 报错解决...
- win10系统 ubuntu子系统 进行ndk编译笔记
- error C2039: IsOutRange
- python内积 卷积
- RNN循环神经网络的直观理解:基于TensorFlow的简单RNN例子