编程介的小学生 2020-09-18 08:23 采纳率: 0.9%
浏览 41

素数判定 程序的编写

Problem Description
对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x<y<=50),判定该表达式的值是否都为素数。

Input
输入数据有多组,每组占一行,由两个整数x,y组成,当x=0,y=0时,表示输入结束,该行不做处理。

Output
对于每个给定范围内的取值,如果表达式的值都为素数,则输出"OK",否则请输出“Sorry”,每组输出占一行。

Sample Input
0 1
0 0

Sample Output
OK

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-25 09:41
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    # 读入数据
    data <- readLines()
    
    for (i in 1:length(data)) {
      if (data[i] == "") break # 如果输入为空行则跳出循环
      x <- as.integer(strsplit(data[i], " ")[[1]][[1]])
      y <- as.integer(strsplit(data[i], " ")[[1]][[2]])
      
      if (x < 0 || y < -39 || y > 50) continue # 防止超出范围
      
      # 计算表达式 n^2 + n + 41 的值
      value <- sqrt(x^2 + x + 41)
      value2 <- x * (value - floor(value))
      
      if (is.odd(value2)) { 
        print("Sorry")
      } else {
        print("OK")
      }
    }
    

    这段代码使用了 R 语言来解决题目。首先,我们读入所有的输入数据,并将它们存储在一个列表 data 中。然后,对于每一个输入,我们检查它是否为空行。如果是空行,则跳出循环。接下来,我们计算表达式 n^2 + n + 41 的值。这里我们使用平方根和取整函数来确保结果是整数。如果表达式的值不是素数,则输出 “Sorry”,否则输出 “OK”。

    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵