Prime number check
uint number = uint.Parse(Console.ReadLine());
uint divider = 2;
uint maxDivider = (uint)Math.Sqrt(number);
bool prime = true;
while (prime && (divider <= maxDivider))
{
if (number % divider == 0)
{
prime = false;
}
divider++;
}
Console.WriteLine("Prime? {0}", prime);
Някой може ли да обясни това решение, т.к. не ми е много ясно?
Цял ден седя и го мисля. Мерси за изчерпателния отговор. Само още един въпрос: Може ли да стане с друг цикъл, не само с while?
Аз го направих по този начин, и при тестване ми работи. Само, че не знам до колко е вярно.
using System;
namespace PrimeNumberCheck
{
class PrimeNumberCheck
{
static void Main()
{
Console.WriteLine("Enter a number from 0 to 100:");
int number = int.Parse(Console.ReadLine());
if (number % 2 != 1 && number % number != 1)
{
Console.WriteLine(" The number is NOT a Prime ");
}
else
{
Console.WriteLine(" The number is a Prime ");
}
}
}
}
function solve(num) {
for (let i = 1; i < num; i++) {
if (num % 3 !== 0 && num % 2 !== 0 || num == 2 ) {
console.log(true);
break;
} else {
console.log(false);
break;
}
}
}
В Judge кодът на diela33 получава 100 точки.
function solve(num) {
for (let i = 1; i < num; i++) {
if (num % 3 !== 0 && num % 2 !== 0 || num == 2 ) {
console.log(true);
break;
} else {
console.log(false);
break;
}
}
}
Според този код обаче 3 не е просто число, а то е. Аз добавих || num == 3 и Judge отново дава 100 точки. Дали някой може да коментира? Благодаря.