初试牛客网PAT练习之数素数

来源:互联网 发布:童装淘宝店名大全 编辑:程序博客网 时间:2024/05/21 12:03

正式开始练习PAT,初步选择的练习平台是牛客网(http://www.nowcoder.com/),原因是虽然自己理论学习还不错,但缺乏上手经验,想先在练习平台上实验一段时间后,在正式进驻PAT官网。

        前两个练习有点仓促,没有留下代码,从第三个开始。

#include <iostream>#include <math.h>#include <stdio.h>using namespace std;int isor(int num){    int i=0;    int k=5;    for(i=2;i<sqrt(num)+1;i++){        k=num%i;        if(k==0){            return 0;        }    }    return 1;}int main(){    int a,b;    cin>>a>>b;    int save[b];    save[0]=2;    int j=1;    int i=3;    int is;    while(j<b+1){        is=isor(i);        if(is==1){            save[j]=i;            j++;            i++;        }        else i++;    }    j=1;    for(i=a-1;i<b-1;i++){        cout<<save[i];        if(j%10!=0)            cout<<" ";        else            cout<<endl;        j++;    }    cout<<save[b-1];    return 0;}

以上是第三道题目的我的答案,在做题的过程中先后出现了两个问题:

1)格式不对

     主要原因是题目中明确要求了最后一个输出元素后不能存在空格,而我在处理时完全忽略了这个问题,所以导致了格式的不正确;

2)运行超时

      其原因在于平台要求运行时间在1000ms以内,而我在最开始时处理素数的方法并不好,导致了运行超时,而后发现应该是开根号处理能够大大加快运行速度。

第一更,以后会陆续更新,希望能够在短期内获得提升。

0 0
原创粉丝点击