Вам не нужно писать программу для этого.
Для слова из n символов существует n-1 позиций, в которых может быть точка (т.е. между каждой парой символов). Каждая позиция либо имеет точку, либо ее нет.
Следовательно, есть 2 n-1 возможных слов.
Если вы действительно хотите написать программу на C #, чтобы отобразить это:
using System;
class Test
{
static void Main(string[] args)
{
// Argument validation left as an exercise for the reader
string word = args[0];
Console.WriteLine("Word {0} has {1} possibilities",
word, Math.Pow(2, word.Length - 1));
}
}
РЕДАКТИРОВАТЬ: Обратите внимание, что это предполагает, что оригинальное слово (без точек) по-прежнему считается. Если вы не хотите, чтобы это считалось, вычтите одно из результата.
РЕДАКТИРОВАТЬ: я изменил вычисления, чтобы использовать Math.Pow
так, чтобы:
- Он справляется со словами, состоящими более чем из 33 букв (конечно, до другого предела)
- Это понятнее