PAT 乙级 1007

qq_41037029 2017-11-12 10:39:03
第五个测试点段错误不知道为什么

#include<iostream>
using namespace std;

int main()
{
int n,c=0,count=0;
cin >> n;
int a[100];
for (int i = 1;i <= n;i++)
{
int b = 2;
while (b < i)
{

if (i%b == 0)
break;
b++;
}
if (b==i)
{
a[c] = i;
c++;
}
}
for (int i = 1;i <= c;i++)
{
if (a[i + 1] - a[i] == 2)
count++;
}
cout << count;
}
...全文
160 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
自信男孩 2017-11-24
  • 打赏
  • 举报
回复
#include<iostream>
#include <cmath>
using namespace std;

int is_prime(int num);
int main()
{
    int n,c=0,count=0, i;
    cin >> n;

    int prev = 2, cur;

    for (i = 3; i < n; i += 2) {
        if (is_prime(i)) {
            if (c % 10 == 0)
                cout<<endl;
            cout<<i<<'\t';
            cur = i;
            if (cur - prev == 2)
                count++;
            prev = cur;
            c++;
        }
    }
    cout<<endl;


    /*
    int a[100];
    for (int i = 1;i <= n;i++)
    {
        int b = 2;
        while (b < i)
        {

            if (i%b == 0)
                break;
            b++;
        }
        if (b==i)
        {
            cout<<i<<endl;
            a[c] = i;
            c++;
        }
    }
    for (int i = 0;i < c;i++)
    {
        if (a[i + 1] - a[i] == 2)
            count++;
    }
    */
    cout <<"total number: "<< count<<endl;
}

int is_prime(int num)
{
    int len = sqrt(num), i;

    for (i = 2; i < len + 1; i++)
        if (num % i == 0)
            break;
    if (i >= len + 1)
        return 1;

    return 0;
}
参考一下吧 不用数组,可以节省空间;另外,素数判断也可以优化一下,提高效率;
Schordinger 2017-11-24
  • 打赏
  • 举报
回复
数组开大一点
Cynical丶Gary 2017-11-19
  • 打赏
  • 举报
回复
Pat中段错误基本都是数组开小了
赵4老师 2017-11-13
  • 打赏
  • 举报
回复
边界条件 输入输出格式 ……
qq_41037029 2017-11-12
  • 打赏
  • 举报
回复
qq_41037029 2017-11-12
  • 打赏
  • 举报
回复
不知道为什么第五个测试点 段错误

64,671

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧