这里的问题是确定长度为N的字符串中包含的字符'0'到'9'的总数,提供一个整数N和一个字符串前缀数组pre[],使得这些字符串中没有任何一个包含提供的前缀。本文的目的是实现一个程序,找到不具有给定前缀的N位数的数量。
在C编程语言中,一组不同的字符串被称为数组,因为数组是一组具有相似类型的数据片段的线性组合。
As we already know, the string is a character-by-character, one-dimensional array that ends with an empty or a null character.
示例示例1
让我们假设输入N = 2,
The given prefix, pre = {“1”}
Output obtained: 90
解释
在这里,除了{"01","10",“11”, “12”, “13", “14”, “15”, “16”, “17”, “18”, “19”, "21", "31", "41", "51", "61", "71", "81", "91"}之外的所有2位数字符串都是有效的。
示例示例2
让我们将输入值 N = 3 作为例子。
The given prefix, pre = {“56”}
Output obtained: 990
解释
在这里,除了{"560", "561", “562”, “563", “564”, “565”, “566”, “567”, “568”, “569”}之外的所有3位数字字符串都是有效的。
示例示例3
让我们来看一个输入N = 1,
The given prefix, pre = {“6”}
Output obtained: 9
解释
除了{"6"}之外,这里的所有1位数字符串都是有效的。
问题陈述
实现一个程序来找到不具有给定前缀的N位数的数量。
方法
为了找到不带给定前缀的N位数的数量,我们使用以下方法。
解决这个问题并找到不具有给定前缀的N位数的方法
考虑到字符串中每个位置有10个字符选项,总共有(10N)个潜在字符串。不要计算所需字符串的总数,而是减去不需要的字符串的总数。在迭代前将具有相同初始字符的前缀合并为较长的前缀可能导致某些重复的删除。
算法
找到不具有以下给定前缀的N位数的计数算法
第一步 − 开始
第二步 - 定义函数来计算长度为N的字符串中不包含给定前缀的总数
第三步 - 计算总共存在的字符串
第四步 - 创建一个数组和计数器 a 和 aCount,并将这些前缀插入其中
步骤 5 − 创建一个新的前缀字符串数组
第6步 - 对于每个起始字符进行迭代
第7步 - 迭代数组以计算最小大小的前缀
第8步 - 现在将所有这些最小前缀放入新的前缀数组中
第9步 - 迭代新的前缀
第10步 - 扣除不需要的字符串
第11步 − 打印获得的结果
第12步 − 停止
示例:C程序
这是上述算法的C程序实现,用于查找不具有给定前缀的N位数的数量。
#include <stdio.h> #include <math.h> #include <string.h> #define MAX_LENGTH 10 // Function to calculate total strings of length N without the given prefixes int totalStrings(int N, char pre[][MAX_LENGTH], int pre_Count){ // Calculate total strings present int total = (int)(pow(10, N) + 0.5); // Make an array and counter a and aCount respectively and insert these prefixes with same character in the array char a[10][MAX_LENGTH]; int aCount[10] = {0}; for (int i = 0; i < pre_Count; i++) { int index = pre[i][0] - '0'; strcpy(a[index] + aCount[index] * MAX_LENGTH, pre[i]); aCount[index]++; } // Make a new array of prefixes strings char new_pre[pre_Count][MAX_LENGTH]; int new_pre_count = 0; // Iterating for each of the starting //character for (int x = 0; x < 10; x++){ int m = N; // Iterate over the array to calculate minimum size prefix for (int j = 0; j < aCount[x]; j++){ int p_length = strlen(a[x] + j * MAX_LENGTH); m = (m < p_length) ? m : p_length; } // now take all these minimum prefixes in the new array of prefixes for (int j = 0; j < aCount[x]; j++){ int p_length = strlen(a[x] + j * MAX_LENGTH); if (p_length <= m){ strcpy(new_pre[new_pre_count], a[x] + j * MAX_LENGTH); new_pre_count++; } } } // Iterating through the new prefixes for (int i = 0; i < new_pre_count; i++){ // Subtract the unwanted strings total -= (int)(pow(10, N - strlen(new_pre[i])) + 0.5); } return total; } // The main function int main(){ int N = 5; char pre[][MAX_LENGTH] = {"1", "0", "2"}; int pre_Count = sizeof(pre) / sizeof(pre[0]); printf("%d\n", totalStrings(N, pre, pre_Count)); return 0; }
输出
70000
结论
同样地,我们可以找到不具有给定前缀的N位数的数量。
在这篇文章中,解决了获取程序来找到不具有给定前缀的N位数的计数的挑战。
这里提供了C编程代码以及查找不具有给定前缀的N位数字计数的算法。
以上是计算不具有给定前缀的N位数字的数量的详细内容。更多信息请关注PHP中文网其他相关文章!

MySQL中如何使用SUM函数计算某个字段的总和在MySQL数据库中,SUM函数是一个非常有用的聚合函数,它可以用于计算某个字段的总和。本文将介绍如何在MySQL中使用SUM函数,并提供一些代码示例来帮助读者深入理解。首先,让我们看一个简单的示例。假设我们有一个名为"orders"的表,其中包含了顾客的订单信息。表结构如下:CREATETABLEorde

时隔四个月,ByteDanceResearch与北京大学物理学院陈基课题组又一合作工作登上国际顶级刊物NatureCommunications:论文《TowardsthegroundstateofmoleculesviadiffusionMonteCarloonneuralnetworks》将神经网络与扩散蒙特卡洛方法结合,大幅提升神经网络方法在量子化学相关任务上的计算精度、效率以及体系规模,成为最新SOTA。论文链接:https://www.nature.com

一种受欢迎的通用编程语言是Python。它被应用于各种行业,包括桌面应用程序、网页开发和机器学习。幸运的是,Python具有简单易懂的语法,适合初学者使用。在本文中,我们将使用Python来计算矩阵的右对角线之和。什么是矩阵?在数学中,我们使用一个矩形排列或矩阵,用于描述一个数学对象或其属性,它是一个包含数字、符号或表达式的矩形数组或表格,这些数字、符号或表达式按行和列排列。例如−234512367574因此,这是一个有3行4列的矩阵,表示为3*4矩阵。现在,矩阵中有两条对角线,即主对角线和次对

6 月 23 日,澳大利亚量子计算公司 SQC(Silicon Quantum Computing)宣布推出世界上第一个量子集成电路。这是一个包含经典计算机芯片上所有基本组件的电路,但体量是在量子尺度上。SQC 团队使用这种量子处理器准确地模拟了一个有机聚乙炔分子的量子态——最终证明了新量子系统建模技术的有效性。「这是一个重大突破,」SQC 创始人 Michelle Simmons 说道。由于原子之间可能存在大量相互作用,如今的经典计算机甚至难以模拟相对较小的分子。SQC 原子级电路技术的开发将

阿里云机器学习平台PAI与华东师范大学高明教授团队合作在SIGIR2022上发表了结构感知的稀疏注意力Transformer模型SASA,这是面向长代码序列的Transformer模型优化方法,致力于提升长代码场景下的效果和性能。由于self-attention模块的复杂度随序列长度呈次方增长,多数编程预训练语言模型(Programming-basedPretrainedLanguageModels,PPLM)采用序列截断的方式处理代码序列。SASA方法将self-attention的计算稀疏化

本文由Cristian Bodnar 和Fabrizio Frasca 合著,以 C. Bodnar 、F. Frasca 等人发表于2021 ICML《Weisfeiler and Lehman Go Topological: 信息传递简单网络》和2021 NeurIPS 《Weisfeiler and Lehman Go Cellular: CW 网络》论文为参考。本文仅是通过微分几何学和代数拓扑学的视角讨论图神经网络系列的部分内容。从计算机网络到大型强子对撞机中的粒子相互作用,图可以用来模

使用Python的abs()函数计算数值的绝对值绝对值是一个数与零点的距离,无论这个数是正数还是负数,其绝对值都是非负数。在Python中,我们可以使用内置函数abs()来计算一个数的绝对值。本文将详细介绍abs()函数的使用方法,并给出一些代码示例。abs()函数的语法如下:abs(x)其中,x是需要计算绝对值的数值。下面是一些使用abs()函数的示例:示

清华大学举办的一场机器人版猫捉老鼠游戏,登上了Science子刊封面。这里的汤姆猫有了新的名字:“天机猫”,它搭载了清华大学类脑芯片的最新研究成果——一款名为TianjicX的28nm神经形态计算芯片。它的任务是抓住一只随机奔跑的电子老鼠:在复杂的动态环境下,各种障碍被随机地、动态地放置在不同的位置,“天机猫”需要通过视觉识别、声音跟踪或两者结合的方式来追踪老鼠,然后在不与障碍物碰撞的情况下向老鼠移动,最终追上它。在此过程中,“天机猫”需要实现实时场景下的语音识别、声源定位、目标检测、避障和决


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

Atom编辑器mac版下载
最流行的的开源编辑器

SublimeText3 Linux新版
SublimeText3 Linux最新版

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),