я просто ищу все простые числа в диапазоне от 1 до n с решето эратосфена, а далее просто сравниваю вектор с простыми числами.
мой пример решения:#include
#include
using namespace std;
int main()
{
int n;
cin > > n;
vector prime (n+1, true);
prime[0] = prime[1] = false;
for (int i=2; i*i< =n; ++i)
if (prime[i])
for (int j=2; j< =n/i; j++)
if (prime[i*j]) prime[i*j] = false;
for(int i = 0; i < prime.size(); ++i)
{
for(int j = i; j < prime.size(); ++j)
{
if(prime[i]& & prime[j])
if(i+j==n)
cout < < i < < " " < < j < < endl;
}
}
cin.get();
cin.get();
}
Типа такого
using System;
using System.IO;
using System.Windows.Forms;
...
[STAThread]
static void Main() {...}
...
Func ( )
{
using (OpenFileDialog dlg = new OpenFileDialog())
{
dlg.ShowDialog();
var file = new StreamReader(dlg.OpenFile()).ReadToEnd();
int CtNum = 0, CtRus = 0;
for (int i = 0; i < file.Length; i++)
if (file[i] >= 'А' && file[i] <= 'я') CtRus++;
else if (file[i] >= '0' && file[i] <= '9') CtNum++;
Console.WriteLine(
CtNum>CtRus? "More nums" : CtNum<CtRus? "More Rus letters" :
"Equal number of Rus letters and nums");
}
}