- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试写出给定数字的所有字谜。我做到了,但是有没有更有效的方法来解决这个问题?或者我怎样才能用字母来做?我正在尝试写出给定数字的所有字谜。我做到了,但是有没有更有效的方法来解决这个问题?或者我怎样才能用字母来做?
输入:1234
12431324134214231432213421432314234124132431312431423214324134123421412341324213423143124321
#include<iostream>
using namespace std;
int digitNumber(int);
bool isAnagram(int ,int );
int reverse(int ); //reverse the number to know where it ends
int main()
{
int nmbr;
cin>>nmbr;
int rev=reverse(nmbr);
for(int i=0;i+nmbr<=rev;i++)// control the numbers
{
if(isAnagram(nmbr,i+nmbr))
{
cout<<i+nmbr<<endl;
}
}
}
int digitNumber(int number) // number of digit
{
int digit=0;
while(number>0)
{
digit++;
number=number/10;
}
return digit;
}
bool isAnagram(int number,int number2)
{
int arr[10]={0};
int arr2[10]={0};
int digit=digitNumber(number);
if(digit!=digitNumber(number2)) //
{
return 0;
}
while(number>0)
{
arr[number%10]++;
number=number/10;
}
while(number2>0)
{
arr2[number2%10]++;
number2=number2/10;
}
for(int i=0;i<10;i++)
{
if(arr[i]!=arr2[i])
{
return 0;
}
}
return 1;
}
int reverse(int number) // reverse the number
{
int result=0;
while(number>0)
{
result+=number%10;
number=number/10;
result=result*10;
}
return result/10;
}
最佳答案
嗯,如果我没理解错的话,你想打印一个数字的所有排列。应从 std::cin 中读取数字或其他内容。
WhozCraig 基本上也已经给出了答案。所有证书都交给他。我不想被否决,因为我从 cppreference 示例代码中复制并粘贴。给我评论,我会删除这篇文章。也许我也误解了这个问题,因为它似乎太简单了。还有,请评论,我会删除这个答案。
答案取自here .
#include <iostream>
#include <string>
#include <algorithm>
int main()
{
std::string s; std::cin >> s;
std::sort(s.begin(), s.end());
do {
std::cout << s << '\n';
} while (std::next_permutation(s.begin(), s.end()));
return 0;
}
关于c++ - 有没有更有效的方法来解决字谜问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56510800/
我的程序运行良好,这只是我需要的一个小建议;首先这是我的代码,用于检查两个单词是否是字谜;效果很好; #include int anagram_check(char [], char []); in
面试问题给定两个输入字符串,您只能交换字符串中的两个连续元素。您必须展示将一个字符串转换为另一个字符串的所有步骤(两个字符串将是彼此的字谜)。例如。口香糖到马克杯 古姆百货公司通用汽车大学微量气体发生
我正在尝试学习 Python。考虑这个简单的 C 语言变位词检查器: bool are_anagrams(const char* str1, const char* str2) { int str
(下面关于我的问题的代码) 根据 this stack overflow question我使用 Pegolon 的方法来生成 NSString 中一组字符的所有可能排列。但是,我现在试图让它不仅生成
testing if strings are anagrams有很多种方式.但是,我想知道是否有一种方法可以只对每个单词进行一次迭代?如果不是,在 Python 中最有效的方法是什么? 我们可以遍历第
我是一名优秀的程序员,十分优秀!