I backed this up by having a computer run through all the possibilities and count them. Here's some C# code which people can run if they want (it's messy, but it gets the job done).
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
class Program
{
public static int Count(int a,int b, int c, int d, int e, int f, int g, int lower, int upper) //counts how many of a,b,c,...g lie in the range lower<=x<=upper.
{
int result = 0;
if (a<= upper && a>=lower)
{
result++;
}
if (b <= upper && b >= lower)
{
result++;
}
if (c <= upper && c >= lower)
{
result++;
}
if (d <= upper && d >= lower)
{
result++;
}
if (e <= upper && e >= lower)
{
result++;
}
if (f <= upper && f >= lower)
{
result++;
}
if (g <= upper && g >= lower)
{
result++;
}
return result;
}
static void Main(string[] args)
{
long noOf3Ps = 0; // keeps count of how many scenarios occur with 3 Ps 3Ts and 1 K.
long noOf2PlusPs = 0; // keeps count of how many scenarios occur with 2+Ps, 1+K and exactly 3Ts.
for(int i1=1; i1<= 10;i1++)
{
for (int i2 = 1; i2 <= 10; i2++)
{
for (int i3 = 1; i3 <= 10; i3++)
{
for (int i4 = 1; i4 <= 10; i4++)
{
for (int i5 = 1; i5 <= 10; i5++)
{
for (int i6 = 1; i6 <= 10; i6++)
{
for (int i7 = 1; i7 <= 10; i7++)
{
int noOfTs = Count(i1,i2,i3,i4,i5,i6,i7,1,5); //Count the Ts occurring in this arrangement.
int noOfPs = Count(i1,i2,i3,i4,i5,i6,i7,6,6); // Count the Ps occurring.
int noOfKs = Count(i1,i2,i3,i4,i5,i6,i7,7,7); // Count the Ks occurring.
if(noOfTs==3 && noOfPs==3&&noOfKs==1)
{
noOf3Ps++;
}
if(noOfTs==3 && noOfPs>=2 && noOfKs>=1)
{
noOf2PlusPs++;
}
}
}
}
}
}
}
}
decimal above = noOf3Ps;
decimal below = noOf2PlusPs;
Console.WriteLine(noOf3Ps);
Console.WriteLine(noOf2PlusPs);
Console.WriteLine(String.Format(" {0:F25}", above / below));
Console.ReadLine();
}
}
}