在整数中查找整数的命令是什么?

what is the command for finding integer in a integer?

本文关键字:整数 是什么 命令 查找      更新时间:2023-10-16

例如,我有一个c++从文件中获取2个整数。例如,int a = 2052342, int b = 2。我需要做一个搜索来搜索b是否在a里面,所以在这个例子中,b在a里面,但是如果b是比如7,它就不是。我应该使用什么样的功能,你能给我快速演示一下吗?编辑:不,这不是家庭作业,我今年要参加程序员奥林匹克竞赛,所以我正在编写上一届程序员奥林匹克竞赛中所有的c++练习。

你用了一个很奇怪的例子,没有解释"如果b在a里面"是什么意思。你只是在检查'int b'的子字符串是否在'int a'里面吗?如果B是205或234,那算吗?

也许不是最好的方法,但足够简单,就是将每个整数转换为字符串,然后执行子字符串检查,看看stringB是否是stringA的子字符串。

Update:事实上,当你解析你的文件时,我只是将它们作为字符串读取,甚至不要将其视为整数问题。你只是在做子字符串检查。此外,如果将它们解析为整数,则会丢失0填充。

如果你在讨论除法或其他东西,可以通过除法来完成。

最简单的答案就是保持数字在它们的字符串中表示,并使用std::find。如果你已经有了数字内部格式,并且将它们转换为字符串将过于昂贵:如果a的低位等于b,则a % 10 == b为真,且a /= 10将移除低位数字。所以:

while ( a != 0 && a % 10 != b ) {
    a /= 10;
}
return a != 0;