Home | | Latest | About | Random
# Anagrams answer
```cpp
#include
#include
using namespace std;
int main() {
string input;
cout << "Enter a word, and I will find number of unique anagrams:\n";
cin >> input;
string unique_letters;
for (size_t i = 0; i < input.length(); ++i) {
if (unique_letters.find(input.at(i)) == string::npos) {
unique_letters += input.at(i);
}
}
int denom = 1;
int numer = 1;
for (size_t i = 0; i < unique_letters.length(); ++i){
int count = 0;
for (size_t j = 0; j < input.length(); ++j){
if (unique_letters.at(i) == input.at(j)){
++count;
}
}
int prod = 1;
for (int x = 1; x <= count; ++x){ prod *= x ;}
denom *= prod;
}
for (size_t i = 1; i <= input.length(); ++i){
numer *= i;
}
cout << "The word " << input << " has "
<< numer / denom
<< " anagrams." << endl;
return 0;
}
```