热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

通过移除单一数字优化数据集

通过删除单个数字检查数字是否可以变成质数原文:https://www . geeksforgeeks . org/check-i

通过删除单个数字

检查数字是否可以变成质数

原文:https://www . geeksforgeeks . org/check-if-number-be-prime-by-delete-个位数/

给定一个整数 N ,任务是检查是否可以通过从 N 中删除任意一个数字来使 N 成为素数。

示例:

输入: N = 610
输出:
说明:
从 610 中删除 0,得到 61,是素数。

输入:N = 68
T3】输出:否

进场:思路是把 N 转换成一根弦。现在对字符串的每个数字进行迭代并从字符串中删除索引 I 处的字符,然后在删除索引 I 处的字符后将字符串转换为整数,现在检查该整数是否为质数,然后返回 true。否则,最后还假。

下面是上述方法的实现:

C++


// C++ implementation to check if a number
// becomes prime by deleting any digit
#include
using namespace std;
// Function to check if N is prime
bool isPrime(int n)
{
    // Corner cases
    if (n <= 1)
        return false;
    if (n <= 3)
        return true;
    // This is checked so that we can skip
    // middle five numbers in below loop
    if (n % 2 == 0 || n % 3 == 0)
        return false;
    for (int i = 5; i * i <= n; i = i + 6)
        if (n % i == 0 || n % (i + 2) == 0)
            return false;
    return true;
}
// Function to delete character at index i
// from given string str
string deleteIth(string str, int i)
{
    // Deletes character at position 4
    str.erase(str.begin() + i);
    return str;
}
// Function to check if a number
// becomes prime by deleting any digit
bool isPrimePossible(int N)
{
    // Converting the number to string
    string s = to_string(N);
    // length of string
    int l = s.length();
    // number should not be
    // of single digit
    if (l < 2)
        return false;
    // Loop to find all numbers
    // after deleting a single digit
    for (int i = 0; i < l ; i++) {
        // Deleting ith character
        // from the string
        string str = deleteIth(s, i);
        // converting string to int
        int num = stoi(str);
        if (isPrime(num))
            return true;
    }
    return false;
}
// Driver Code
int main()
{
    int N = 610;
    isPrimePossible(N) ? cout << "Yes"
                     : cout << "No";
    return 0;
}


Java 语言(一种计算机语言,尤用于创建网站)


// Java implementation to check if a number
// becomes prime by deleting any digit
import java.util.*;
class GFG{
  // Function to check if N is prime
  static boolean isPrime(int n)
  {
    // Corner cases
    if (n <= 1)
      return false;
    if (n <= 3)
      return true;
    // This is checked so that we can skip
    // middle five numbers in below loop
    if (n % 2 == 0 || n % 3 == 0)
      return false;
    for (int i = 5; i * i <= n; i = i + 6)
      if (n % i == 0 || n % (i + 2) == 0)
        return false;
    return true;
  }
  // Function to delete character at index i
  // from given String str
  static String deleteIth(String str, int i)
  {
    // Deletes character at position 4
    str = str.substring(0, i) +
            str.substring(i + 1);
    return str;
  }
  // Function to check if a number
  // becomes prime by deleting any digit
  static boolean isPrimePossible(int N)
  {
    // Converting the number to String
    String s = String.valueOf(N);
    // length of String
    int l = s.length();
    // number should not be
    // of single digit
    if (l < 2)
      return false;
    // Loop to find all numbers
    // after deleting a single digit
    for (int i = 0; i < l; i++)
    {
      // Deleting ith character
      // from the String
      String str = deleteIth(s, i);
      // converting String to int
      int num = Integer.valueOf(str);
      if (isPrime(num))
        return true;
    }
    return false;
  }
  // Driver Code
  public static void main(String[] args)
  {
    int N = 610;
    if (isPrimePossible(N))
      System.out.print("Yes");
    else
      System.out.print("No");
  }
}
// This code is contributed by Rajput-Ji


Python 3


# Python3 implementation to check if a number
# becomes prime by deleting any digit
# Function to check if N is prime
#from builtins import range
def isPrime(n):
    # Corner cases
    if (n <= 1):
        return False;
    if (n <= 3):
        return True;
    # This is checked so that we can skip
    # middle five numbers in below loop
    if (n % 2 == 0 or n % 3 == 0):
        return False;
    for i in range(5, int(n**1/2), 6):
        if (n % i == 0 or n % (i + 2) == 0):
            return False;
    return True;
# Function to delete character at index i
# from given String str
def deleteIth(str, i):
    # Deletes character at position 4
    str = str[0:i] + str[i + 1:];
    return str;
# Function to check if a number
# becomes prime by deleting any digit
def isPrimePossible(N):
    # Converting the number to String
    s = str(N);
    # length of String
    l = len(s);
    # number should not be
    # of single digit
    if (l < 2):
        return False;
    # Loop to find all numbers
    # after deleting a single digit
    for i in range(l):
        # Deleting ith character
        # from the String
        str1 = deleteIth(s, i);
        # converting String to int
        num = int(str1);
        if (isPrime(num)):
            return True;
    return False;
# Driver Code
if __name__ == '__main__':
    N = 610;
    if (isPrimePossible(N)):
        print("Yes");
    else:
        print("No");
# This code is contributed by Rajput-Ji


C


// C# implementation to check if a number
// becomes prime by deleting any digit
using System;
class GFG{
// Function to check if N is prime
static bool isPrime(int n)
{
    // Corner cases
    if (n <= 1)
        return false;
    if (n <= 3)
        return true;
    // This is checked so that we can skip
    // middle five numbers in below loop
    if (n % 2 == 0 || n % 3 == 0)
        return false;
    for(int i = 5; i * i <= n; i = i + 6)
        if (n % i == 0 || n % (i + 2) == 0)
            return false;
    return true;
}
// Function to delete character at index i
// from given String str
static String deleteIth(String str, int i)
{
    // Deletes character at position 4
    str = str.Substring(0, i) +
          str.Substring(i + 1);
    return str;
}
// Function to check if a number
// becomes prime by deleting any digit
static bool isPrimePossible(int N)
{
    // Converting the number to String
    String s = String.Join("", N);
    // length of String
    int l = s.Length;
    // number should not be
    // of single digit
    if (l < 2)
        return false;
    // Loop to find all numbers
    // after deleting a single digit
    for(int i = 0; i
    {
        // Deleting ith character
        // from the String
        String str = deleteIth(s, i);
        // converting String to int
        int num = Int32.Parse(str);
        if (isPrime(num))
            return true;
    }
    return false;
}
// Driver Code
public static void Main(String[] args)
{
    int N = 610;
    if (isPrimePossible(N))
        Console.Write("Yes");
    else
        Console.Write("No");
}
}
// This code is contributed by Rajput-Ji


java 描述语言


<script>
// Javascript implementation to check if a number
// becomes prime by deleting any digit
// Function to check if N is prime
  function isPrime(n)
  {
    // Corner cases
    if (n <= 1)
      return false;
    if (n <= 3)
      return true;
    // This is checked so that we can skip
    // middle five numbers in below loop
    if (n % 2 == 0 || n % 3 == 0)
      return false;
    for (let i = 5; i * i <= n; i = i + 6)
      if (n % i == 0 || n % (i + 2) == 0)
        return false;
    return true;
  }
  // Function to delete character at index i
  // from given String str
  function deleteIth(str, i)
  {
    // Deletes character at position 4
    str = str.substr(0, i) +
            str.substr(i + 1);
    return str;
  }
  // Function to check if a number
  // becomes prime by deleting any digit
 function isPrimePossible(N)
  {
    // Converting the number to String
    let s = N.toString();
    // length of String
    let l = s.length;
    // number should not be
    // of single digit
    if (l < 2)
      return false;
    // Loop to find all numbers
    // after deleting a single digit
    for (let i = 0; i
    {
      // Deleting ith character
      // from the String
      let str = deleteIth(s, i);
      // converting String to let
      let num = parseInt(str);
      if (isPrime(num))
        return true;
    }
    return false;
  }
// Driver Code
    let N = 610;
    if (isPrimePossible(N))
      document.write("Yes");
    else
      document.write("No");
script>

Output

Yes

时间复杂度:O(D)
T5】辅助空间: O(1)


推荐阅读
  • 本文介绍如何使用 Python 的 xlrd 库读取 Excel 文件,并将其数据处理后存储到数据库中。通过实际案例,详细讲解了文件路径、合并单元格处理等常见问题。 ... [详细]
  • 本题探讨了在一个有向图中,如何根据特定规则将城市划分为若干个区域,使得每个区域内的城市之间能够相互到达,并且划分的区域数量最少。题目提供了时间限制和内存限制,要求在给定的城市和道路信息下,计算出最少需要划分的区域数量。 ... [详细]
  • 反向投影技术主要用于在大型输入图像中定位特定的小型模板图像。通过直方图对比,它能够识别出最匹配的区域或点,从而确定模板图像在输入图像中的位置。 ... [详细]
  • JavaScript 基础语法指南
    本文详细介绍了 JavaScript 的基础语法,包括变量、数据类型、运算符、语句和函数等内容,旨在为初学者提供全面的入门指导。 ... [详细]
  • 本文介绍如何使用 Android 的 Canvas 和 View 组件创建一个简单的绘图板应用程序,支持触摸绘画和保存图片功能。 ... [详细]
  • MySQL DateTime 类型数据处理及.0 尾数去除方法
    本文介绍如何在 MySQL 中处理 DateTime 类型的数据,并解决获取数据时出现的.0尾数问题。同时,探讨了不同场景下的解决方案,确保数据格式的一致性和准确性。 ... [详细]
  • 本文详细介绍了Java Web应用程序中的过滤器(Filter)功能,包括其作用、实现方式及配置方法。过滤器可以在请求到达目标资源之前对其进行预处理,并在响应返回给客户端之前进行后处理。 ... [详细]
  • 编程挑战:2019 Nitacm 校赛 D 题 - 雷顿女士与分队(高级版)
    本文深入解析了2019年Nitacm校赛D题——雷顿女士与分队(高级版),详细介绍了问题背景、解题思路及优化方案。 ... [详细]
  • 本文详细介绍了 iBatis.NET 中的 Iterate 元素,它用于遍历集合并重复生成每个项目的主体内容。通过该元素,可以实现类似于 foreach 的功能,尽管 iBatis.NET 并未直接提供 foreach 标签。 ... [详细]
  • 本文详细介绍了 org.apache.commons.io.IOCase 类中的 checkCompareTo() 方法,通过多个代码示例展示其在不同场景下的使用方法。 ... [详细]
  • 本问题探讨了在特定条件下排列儿童队伍的方法数量。题目要求计算满足条件的队伍排列总数,并使用递推算法和大数处理技术来解决这一问题。 ... [详细]
  • 树链问题的优化解法:深度优先搜索与质因数分解
    本文介绍了一种通过深度优先搜索(DFS)和质因数分解来解决最长树链问题的方法。我们通过枚举树链上的最大公约数(GCD),将所有节点按其质因子分类,并计算每个类别的最长链,最终求得全局最长链。 ... [详细]
  • 问题描述:通过添加最少数量的括号,使得给定的括号序列变为合法,并输出最终的合法序列。数据范围:字符串长度不超过100。涉及算法:区间动态规划(Interval DP)。 ... [详细]
  • 本文详细介绍了如何在C#程序运行期间防止系统进入休眠模式以及显示器关闭,提供了具体的实现代码示例,并解释了其应用场景。这不仅有助于提高程序的稳定性,还能优化能源管理。适合需要处理长时间任务(如下载或批处理)的开发者参考。 ... [详细]
  • 本文探讨了 JavaScript 中一些令人困惑的行为,并深入分析其背后的原因。 ... [详细]
author-avatar
待续爱情2502861755
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有