Number is Happy or Not in C Programming

इस tutorial में, हम अपने C program में user से एक number input लेंगे और check करेंगे कि वह number Happy Number है या नहीं।

Happy Number एक mathematical concept है जिसमें किसी number को उसके digits के squares के sum से बार-बार replace किया जाता है, जब तक कि वह number 1 या 4 न बन जाए।

अगर किसी number के हर एक digit के squares का sum 1 बन जाता है, तो वह Happy Number होता है। और अगर किसी number के हर एक digit के squares का sum 4 बन जाता है, तो वह Unhappy Number होता है।

Example 1: Number 19 को check करते हैं कि वह Happy Number है या नहीं।

1² + 9² = 1 + 81 = 82
8² + 2² = 64 + 4 = 68
6² + 8² = 36 + 64 = 100
1² + 0² + 0² = 1

जैसा कि आपने ऊपर देखा, number 19 से शुरू हुई यह calculation number 1 पर खत्म हुई। इसलिए, number 19 एक Happy Number है।

Example 2: Number 37 को check करते हैं कि वह Happy Number है या नहीं।

32 + 72 = 9 + 49 = 58
52 + 82 = 25 + 64 = 89
82 + 92 = 64 + 81 = 145
12 + 42 + 52 = 1 + 16 + 25 = 42
42 + 22 = 16 + 4 = 20
22 + 02 = 4 + 0 = 4

जैसा कि आपने ऊपर देखा, number 37 से शुरू हुई यह calculation number 4 पर खत्म हुई। इसलिए, number 37 एक Unhappy Number है।


C Programming में Happy Number कैसे Check करें?

कोई number Happy Number है या Unhappy Number, इसका program आप C programming में कई तरीकों से बना सकते हैं। लेकिन, while loop का उपयोग करके इस program को बनाना सबसे common और आसान तरीका है।

आइए, सबसे पहले हम C language में while loop का उपयोग करके “Number is Happy or Unhappy” का program बनाते हैं और फिर विस्तार से समझते हैं कि कोड कैसे काम कर रहा है।

Happy Number Program in C Language:

#include<stdio.h>
int main()
{
    int num, rem, sum=0;

    printf("Enter Your Number: ");
    scanf("%d",&num);

    while(num != 1 && num != 4)
    {

        while(num > 0)
        {
            rem = num % 10;
            sum = sum + rem * rem;
            num = num / 10;
        }

        num = sum;
        sum = 0;
    }

    if(num==1)
    {
        printf("Your Number is a Happy Number");
    }
    else
    {
        printf("Your is a Unhappy Number");
    }

    return 0;
}

Output:

Enter Your Number: 37
Your is a Unhappy Number

Enter Your Number: 19
Your is a Happy Number

Code Explanation:

Outer while Loop: यह outer loop तब तक चलेगा जब तक variable num की value, उसके digits के squares के sum से बार-बार replace होते-होते, number 1 या 4 न बन जाए।

while(num != 1 && num != 4)

Inner while Loop: इस inner loop की मदद से हम variable num के digits के squares का sum निकाल रहे हैं। यह loop तब तक चलेगा जब तक variable num की value 0 से अधिक है।

while(num > 0)

Extract Last Digit: जब आप किसी भी number को 10 से divide करते हैं, तो उसका remainder हमेशा उस number का last digit ही होता है, और remainder निकालने के लिए हम modulo operator (%) का उपयोग करते हैं।

rem = num % 10;

Remove Last Digit: किसी भी number को 10 से division (/) करने पर, उस number का last digit हट जाता है। यानी, division के बाद जो quotient आएगा, उसमें उस number का last digit छोड़कर बाकी का number ही quotient के तौर पर मिलता है।

num = num / 10;

Add to Sum: Inner while loop की हर iteration में, variable num में से एक digit निकालकर variable rem में store किया जाएगा। फिर उस digit के square को variable sum के साथ जोड़ा जाएगा।

sum = sum + rem;

Update Value: Inner while loop में, हमने variable num के digits के squares का sum calculate करके उसे variable sum में store किया है। इसके बाद, हम इस value को variable num को assign करके उसकी value replace कर देंगे।

Variable sum की value को 0 पर reset इसलिए किया गया है ताकि नए num के digits के squares का sum शुरुआत से calculate किया जा सके।

num = sum;
sum = 0;

Output: Outer loop से बाहर निकलने के बाद, अगर variable num की value 1 के बराबर है, तो वह Happy Number है। और अगर variable num की value 4 के बराबर है, तो वह Unhappy Number है।

इस tutorial में, हमने C Programming में while loop की मदद से Happy Number का program बनाना सीखा। हमें आशा है कि आपको यह लेख पसंद आया होगा। सीखते रहें और इसे दूसरों के साथ साझा करते रहें!