java c C# delphi计算速度对比(整数运算)

c语言

int main(){
    int a=0; 
    int count = 0;  
    int num1=4; 
    int num2=99999;
    int i=0,j=0;
    clock_t begin,end;
    begin = clock();
    for(i = num1; i <= num2; i++) {
	     for(j=2;j<i;j++){
	        if(i%j==0){
	            a++;  // 素数个数加1
	            break;
	        }
	    }
	    if (a>0) {
	    	a=0;
	    	
	    } else {
	    	count++;
	    }
	    	
    	
    }
    end = clock();
    long l = end - begin;
    printf("time: %ld ms\n", l) ;

    printf("从%d到%d有%d个素数", num1, num2, count);
    return 0;
}

C#: 

            int a = 0;
            int count = 0;
            int num1 = 4;
            int num2 = 99999;
            int i = 0, j = 0;
            DateTime begin, end;
            begin = System.DateTime.Now;
            for (i = num1; i <= num2; i++)
            {
                for (j = 2; j < i; j++)
                {
                    if (i % j == 0)
                    {
                        a++;  // 素数个数加1
                        break;
                    }
                }
                if (a > 0)
                {
                    a = 0;

                }
                else
                {
                    count++;
                }

            }
            end = System.DateTime.Now;
            TimeSpan t = end - begin;
            
            long l = end.Millisecond - begin.Millisecond;
            button1.Text = "time is" + t.TotalMilliseconds + "ms";

            String s = "从" + num1 + "到" + num2 + "有" + count + "个素数";
            this.Text = s;

java

    public static void testInt() {
        int a = 0;
        int count = 0;
        int num1 = 4;
        int num2 = 99999;
        int i = 0, j = 0;
        long begin, end;
        begin = System.currentTimeMillis();
        for (i = num1; i <= num2; i++) {
            for (j = 2; j < i; j++) {
                if (i % j == 0) {
                    a++;  // 素数个数加1
                    break;
                }
            }
            if (a > 0) {
                a = 0;

            } else {
                count++;
            }

        }
        end = System.currentTimeMillis();

        long l = end - begin;
        System.out.println("time is" + l + "ms");
 
        String s = "从" + num1 + "到"  + num2 + "有" + count + "个素数";
        System.out.println(s);
    }

Delphi:

procedure TForm1.Button1Click(Sender: TObject);
var
  num1,num2:integer;
  i,j:integer;
  a,count:integer;
  t1, t2:longint;

begin
  num1 := 4;
  num2 := 99999;
  a := 0;
  count := 0;
  t1 := timegettime;
  for i:= num1 to num2 do
  begin
    for j := 2 to i -1 do
    begin
      if i mod j = 0 then
      begin
        a := 1;
        break;
      end;
    end;
    if a > 0 then
    begin
       a := 0
    end else
      inc(count);
  end;
  t2 := timegettime;
  button1.caption := format('%dms',[t2-t1]);
  self.Caption := format('从%d到%d有%d个质数', [num1, num2, count]);
end;

结果如下:

序号名称版本第一次第二次第三次第四次第五次平均
1cgcc 10.2179218101825179918451814.2
2C#4.6.1202517611785175017941823
3java14.0.2278927102629266923742634.2  
4delphi7.0190218701899190219601906.6

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值