欢迎来到天天文库
浏览记录
ID:61499919
大小:159.00 KB
页数:8页
时间:2021-02-07
《编译原理 实验一.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、电子信息学院实验报告书课程名:《编译原理》题目:实验一代码优化实验实验类别【设计】班级:BX1211学号:42姓名:刘勇评语:实验态度:认真()一般()差()实验结果:正确()部分正确()错()实验理论:掌握()熟悉()了解()不懂()操作技能:强()一般()差()实验报告:好()一般()差()成绩:指导教师:郭煦批阅时间:2015年3月10日1、实验内容或题目代码优化实验2、实验目的与要求(1)学习具体的代码优化方法(2)掌握良好的编程习惯(3)将指导书中给出的代码进行优化,比较优化前后代码的运行时间,并结合相应的代码优化方法分析实验结果。3、实验步骤与源程序⑴实验步骤只能够被
2、1和其本身整除的数称素数。编写程序,求给定范围内的所有素数。有下列方法可以实现:1.数字n可以从2除到n-12.数字n可以从2除到n/23.数字n可以从2除到n的算术根⑵源代码1.#include#include#include#include#include#defineUPPERLIMIT30000/*变量声明*/intiindex;intiprime;intiprimes_count=1;intiflag,icflag;clock_tstart,stop;/*functiondeclaratio
3、ns*/intfnprime(intiulimit);intfnprimeby2(intiulimit);intfnprimeroot(intiulimit);intmain(intargc,char**argv){fnprime(UPPERLIMIT);/*预留其他两个函数的调用*/return0;}intfnprime(intiulimit){start=clock();iprime=0;for(iprime=3;iprime<=iulimit;iprime=iprime+2){iflag=1;for(iindex=3;iindex<=iprime-1;iindex=iind
4、ex+2){/*检查到n-1*/icflag=iprime%iindex;if(icflag==0)/*素数标记,iflag=0表示非素数*/iflag=0;}if(iflag!=0)iprimes_count++;}stop=clock();printf(“starttime:%d”,start);printf(“stoptime:%d”,stop);printf(“Clocks/sec:%d”,CLOCKS_PER_SEC);printf(“Thetimetakenis%dmillisecondsandthenumberofprimesare%d”,(stop
5、-start),iprimes_count);return0;}计算素数方法1packagewe;importjava.lang.*;importjava.awt.*;importjavax.swing.*;publicclasschen{publicstaticvoidmain(Stringargs[]){longstartTime=System.currentTimeMillis();finalintUPPERLIMIT=30000;intnum,i;for(num=2;num<=UPPERLIMIT;num++){for(i=2;i<=num/2;i++){if(num%i
6、==0)break;}if(i>num/2){System.out.println(num+"是素数");}}longendTime=System.currentTimeMillis();longtimr=endTime-startTime;Stringweg=String.valueOf(timr);JOptionPane.showMessageDialog(newJFrame(),"运行时间为"+weg);}计算素数方法2packagewe;importjava.lang.*;importjava.awt.*;importjavax.swing.*;publicclassch
7、en{publicstaticvoidmain(Stringargs[]){longstartTime=System.currentTimeMillis();finalintUPPERLIMIT=30000;intnum,i;for(num=2;num<=UPPERLIMIT;num++){for(i=2;i<=Math.sqrt(num);i++){if(num%i==0)break;}if(i>Math.sqrt(num)){System.out.println(num+"是
此文档下载收益归作者所有