Вычислить сумму чисел последовательности, порядковые номера которых являются простыми числами - C#
Формулировка задачи:
Задана последовательность N вещественных чисел. Вычислить сумму чисел, порядковые номера которых являются простыми числами.
Вот на половину готовая!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int n, s = 0;
// Random rand = new Random();
Console.WriteLine("введите размерность массива");
n = int.Parse(Console.ReadLine());
int[] mass = new int[n];
Console.WriteLine("массив размером " + n);
for (int i = 0; i < n; i++)
{
// mass[i] = rand.Next(1, 10);
mass[i] = int.Parse(Console.ReadLine());
//Console.Write(mass[i] + " ");
}
for (int i = 0; i < n; i++)
{
Console.Write(mass[i] + " ");
if (i == mass[i])
s += mass[i];
}
Console.WriteLine();
Console.WriteLine(" сумму чисел, порядковые номера которых являются простыми числами " + s);
Console.ReadKey();
}
}
}Решение задачи: «Вычислить сумму чисел последовательности, порядковые номера которых являются простыми числами»
textual
Листинг программы
using System;
class Program
{
static bool IsPrime(int d)
{
if (d == 0) return false;
int _sqrt_int = (int)Math.Sqrt(d)+1;
for (int i = 2; i <= _sqrt_int; i++)
if ((d % i) == 0)
return false;
return true;
}
static void Main()
{
int sum = 0;
Console.Write("введите размерность массива : ");
int[] mass = new int[int.Parse(Console.ReadLine())];
Console.WriteLine("размер массива : " + mass.Length);
for (int i = 0; i < mass.Length; i++)
{
Console.Write("mass[{0}] = ",i);
mass[i] = int.Parse(Console.ReadLine());
if (IsPrime(i)) sum += mass[i];
}
Console.WriteLine();
Console.WriteLine("сумма чисел, порядковые номера которых являются простыми числами " + sum);
Console.ReadKey();
}
}