अभाज्य संख्या जाँचें
पता करें कि कोई पूर्णांक अभाज्य है या नहीं।
अभाज्य संख्या जाँचें क्या है?
अभाज्य संख्या एक से बड़ी होती है और एक व खुद के अलावा उसका कोई धनात्मक भाजक नहीं होता।
महत्वपूर्ण बातें
- Compiler warnings चालू करके सभी ठीक करें।
- हर value का type और lifetime समझें।
- Input और array bounds validate करें।
C और C++ code examples
main.c
#include <stdio.h>
int main(void) {
int number = 29, prime = number > 1;
// A composite number has a factor no larger than its square root.
for (int divisor = 2; divisor * divisor <= number; ++divisor)
if (number % divisor == 0) { prime = 0; break; }
printf("%d is %sprime\n", number, prime ? "" : "not ");
}
29 is prime
C++
main.cpp
#include <iostream>
int main() {
int number = 29;
bool prime = number > 1;
// Stop after the square root and on the first divisor.
for (int divisor = 2; divisor * divisor <= number && prime; ++divisor)
prime = number % divisor != 0;
std::cout << number << " is " << (prime ? "" : "not ") << "prime\n";
}
29 is prime
C और C++ की तुलना
भाजकों को तभी तक जाँचें जब तक उनका वर्ग संख्या से बड़ा न हो, इससे फ़ालतू जाँच बचती है।
C
C छोटे procedural APIs और representation details स्पष्ट करता है।
C++
C++ low-level model रखकर safer library types जोड़ता है।
अभ्यास
दोनों versions चलाकर बदलें और language guarantees की तुलना करें।
- Invalid और boundary inputs जोड़ें।
- -Wall -Wextra -Wpedantic से compile करें।
- Declarations और implementation अलग करें।
चैलेंज से अभ्यास करें
इस पाठ में सीखी बात से एक असली समस्या हल करें। हर चैलेंज ब्राउज़र में चलता है, तुरंत टेस्ट और AI रिव्यू के साथ।
- मूल संख्या जांचें निर्धारित करें कि कोई संख्या मूल है या नहीं। आसान
- List Primes With a Sieve Find primes up to a limit by marking composite multiples. मध्यम