C语言求助

鱼鱼鱼的记录 2021-03-05 12:43:49
pta上的一道题,1013 数素数 (20 分)



测试点0和1一直错误
#include<algorithm>
#include<cstdio>
#include <math.h>
using namespace std;
int main(){
int left,right,t=0,order=1,j=0;
bool re=false;
int ss[10001];
ss[0]=2;
scanf("%d%d",&left,&right);
if(!left){
left=1;
}
for(int i=2;order<right;i++)
{
for( j=2;j<=sqrt(i);j++){
if(i%j==0)
{
re=false;
break;
}
}
if(re){
ss[order++]=i;
}
re=true;
}
left-=1;
right-=1;
while(left<=right){
t++;
if(t%10==0||left==right){
t=0;
}
printf("%d%c",ss[left++],t?'*':'\0');
if(t==0)printf("\n");
}
return 0;
}
...全文
189 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
源代码大师 2021-05-06
  • 打赏
  • 举报
回复
希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10768339.html
  • 打赏
  • 举报
回复
自信男孩 2021-03-05
  • 打赏
  • 举报
回复
#include<algorithm>
#include<cstdio>
#include <math.h>

using namespace std;

int is_prime(int n);
static void swap(int *a, int *b);

int main()
{
int i = 2, j = 0;
int left, right, cnt = 0;

scanf("%d%d", &left, &right);

if (left > right)
swap(&left, &right);
while (1) {
if (is_prime(i)) {
cnt++;
if (left <= cnt && cnt <= right) {
j++;
printf("%d%c", i, j% 10 ? ' ':'\n');
}
if (cnt > right)
break;
}
i++;
}
putchar(10);

/*
int left,right,t=0,order=1,j=0;
bool re=false;
int ss[10001];
ss[0]=2;
scanf("%d%d",&left,&right);
if(!left){
left=1;
}
for(int i=2;order<right;i++)
{
for( j=2;j<=sqrt(i);j++){
if(i%j==0)
{
re=false;
break;
}
}
if(re){
ss[order++]=i;
}
re=true;
}
left-=1;
right-=1;
while(left<=right){
t++;
if(t%10==0||left==right){
t=0;
}
printf("%d%c",ss[left++],t?'*':'\0');
if(t==0)printf("\n");
}
*/
return 0;
}

int is_prime(int n)
{
int i;

if (n <= 1)
return 0;

for (i = 2; i <= sqrt(n); i++) {
if (n % i == 0)
return 0;
}

return 1;
}

static void swap(int *a, int *b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}


供参考~

没用数组,只用了循环~
鱼鱼鱼的记录 2021-03-05
  • 打赏
  • 举报
回复
引用 1 楼 赵4老师 的回复:
#include <algorithm>
#include <cstdio>
#include <math.h>
using namespace std;
int main(){
    int left,right,t=0,order=1,j=0;
    bool re=false;
    int ss[10001];
    ss[0]=2;
    scanf("%d%d",&left,&right);
    if (!left) {
        left=1;
    }
    for (int i=2;order<right;i++) {
        for (j=2;j<=sqrt(i);j++) {
            if (i%j==0) {
                re=false;
                break;
            }
        }
        if (re) {
            ss[order++]=i;
        }
        re=true;
    }
    left-=1;
    right-=1;
    while (left<=right) {
        t++;
        if (t%10==0 || left==right ) {
            t=0;
        }
        if (t==0) {
            printf("%d\n",ss[left++]);
        } else {
            printf("%d ",ss[left++]);
        }
    }
    return 0;
}
你好我试了你的通过了,我能问问我的代码和你的有什么区别吗,感觉没有区别最后面
鱼鱼鱼的记录 2021-03-05
  • 打赏
  • 举报
回复
引用 2 楼 棉猴 的回复:
代码没问题啊
鱼鱼鱼的记录 2021-03-05
  • 打赏
  • 举报
回复
引用 2 楼 棉猴 的回复:
代码没问题啊
但是会有2个测试点过不了
棉猴 2021-03-05
  • 打赏
  • 举报
回复
代码没问题啊
赵4老师 2021-03-05
  • 打赏
  • 举报
回复
#include <algorithm>
#include <cstdio>
#include <math.h>
using namespace std;
int main(){
    int left,right,t=0,order=1,j=0;
    bool re=false;
    int ss[10001];
    ss[0]=2;
    scanf("%d%d",&left,&right);
    if (!left) {
        left=1;
    }
    for (int i=2;order<right;i++) {
        for (j=2;j<=sqrt(i);j++) {
            if (i%j==0) {
                re=false;
                break;
            }
        }
        if (re) {
            ss[order++]=i;
        }
        re=true;
    }
    left-=1;
    right-=1;
    while (left<=right) {
        t++;
        if (t%10==0 || left==right ) {
            t=0;
        }
        if (t==0) {
            printf("%d\n",ss[left++]);
        } else {
            printf("%d ",ss[left++]);
        }
    }
    return 0;
}
一.C语言基础 1.C语言特点(识记); 2.C语言程序基本组成(识记): 3.基本数据类型: 3.1 标识符与基本数据类型(识记), 3.2 常量与变量(领会) 3.3 内存的概念(识记) 4.基本输入、输出函数(领会): 5.运算符与表达式(简单应用): 5.1 运算符的优先级与结合性 二.程序控制结构 1.C语言的语句(识记): 2.顺序结构(领会): 3.分支结构(简单应用): 4.循环结构(综合应用): 5 算法特点 6 流程图 三.构造型数据 1.数组(综合应用): 1.1 定义和引用 1.2 字符数组 1.3 指针和数组 2.结构类型: 2.1 结构类型的概念 2.2 结构类型定义及结构变量说明 2.3 结构变量的初始化 2.4 结构数组的初始化 3.联合类型(识记): 3.1 联合类型的概念 3.2 联合类型定义和联合变量说明 3.3 联合类型的使用 3.4 Struct 和 Union区别 4.枚举型(识记): 4.1 枚举型的定义 4.2 使用枚举型变量 5.typedef的用途(识记): 四.指针 1.指针与指针变量(识记): 2.指针运算符(领会): 3. 指针与函数 4.指针数组与指向指针的指针(识记): 5.指针与结构(领会): 6. 难点和易混淆 五.函数 1.常见的系统库函数(识记): 2.用户自定义函数(简单应用): 2.1函数定义 2.2 函数调用 2.3 函数声明 2.4 函数返回值 2.5 函数参数 3.函数之间的数据传递(领会): 4.函数的嵌套调用及递归调用(领会): 5.局部变量与全局变量(识记): 6.变量的存储类型与变量的初始化(领会): 7.编译预处理(领会): 六.文件 1.文件的基本概念,C语言中的两种文件(识记) 2.文件的打开、关闭和文件结束测试,文件的读写,文件的定位(识记) 2.1文件操作函数 2.2 文件权限 七.算法与编程(综合应用) 1 使用Turbo C集成开发环境调试程序 1.1.源程序的编写、编辑与改错(领会); 1.2.集成环境下的求助Help(识记); 1.3.程序的编译与目标代码的生成(识记); 1.4.程序的调试(综合应用): 1.5.了解Turbo C程序的常见错误提示(识记)。 2 重点编程题 八 位运算 1. & 2. | 3. ^ 4. ~ 5. << 6. >> ———————————————— 版权声明:本文为CSDN博主「kaikai_sk」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/kaikai_sk/article/details/106061539

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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