任务是在更大的int B(从0开始)中返回给定int A的最左位置
A = 53,B = 1953786, 返回:2
我发现了类似的问题,但是在该解决方案中使用了Java函数“ indexOf”,是否有可能以其他方式做到这一点?
答案 0 :(得分:0)
最简单的方法是将它们都转换为std::string
,然后可以使用std::string
的函数来查找索引,类似于您使用{{1} } for Java。
indexOf
这将返回#include <iostream>
#include <string>
int main()
{
int a = 53;
int b = 513953786;
std::string number = std::to_string(b);
std::string numberToFind = std::to_string(a);
auto index = number.find(numberToFind);
std::cout << index;
}
,因为我将4
移到了第4个索引,以表明它找不到我之前添加的53
或5
,根据评论中@Blastfurnace的建议
答案 1 :(得分:0)
使用c ++函数std::find()怎么样?然后,您可以执行以下操作:
3 9 3 3
3 9 3 3
3 9 3 3