C भाषा मा गोलाईलाई पूर्ण रूपमा बुझ्नुहोस्! ceil फङ्क्शन, पूर्णांक अभिव्यक्ति, रकम गणना सम्म 【शुरु गर्ने-व्यावहारिक】

目次

1. परिचय

प्रोग्रामिङमा 「मानको माथि गोलाई प्रक्रिया」 अनपेक्षित रूपमा नजिकैको परिस्थितिमा आवश्यक पर्नेसक्ने कार्य हो। उदाहरणका लागि, भागफलको नतिजा सधैं पूर्णांकमा माथि गोलाई गर्न चाहँदा वा दशमलव प्रयोग गरेर गणनामा बाँकी भागको प्रक्रिया कडाइका साथ व्यवस्थापन गर्न चाहँदा जस्ता अवस्थामा, वास्तविक विकासमा पनि बारम्बार देखा पर्छ।

C भाषामा पनि、「कटौती」 वा 「नजिकको पूर्णांकमा गोलाई」 सँगै 「माथि गोलाई」 गर्ने विधिहरू धेरै अवस्थित छन्।तर, विधि अनुसार प्रयोग गर्ने स्थान, ध्यान दिनुपर्ने बुँदा, प्रक्रिया गति फरक हुने कारण, परिस्थितिको अनुसार चयन महत्त्वपूर्ण हुन्छ।विशेष गरी शुरुआतीहरूलाई, 「int हरू बीचको भागफलमा शेष भाग हराएर जान्छ र सोचे जस्तो नतिजा प्राप्त हुँदैन」 जस्ता समस्याहरू प्राय देखिन्छ।

यस लेखमा, C भाषामा 「माथि गोलाई」 को आधारभूत विचारदेखि, मानक फलनहरू र सूत्र प्रयोग गरेर प्रविधिहरू, वास्तविक प्रयोग उदाहरणहरू र कोडिङ गर्दा ध्यान दिनुपर्ने बुँदासम्म, प्रणालीगत रूपमा स्पष्ट रूपमा व्याख्या गरिनेछ। 「ceil फलफन भनेको के हो?」 「पूर्णांकहरू बीच सजिलै माथि गोलाई गर्ने विधि के हो?」 जस्ता प्रश्नहरूलाई, वास्तविक उदाहरण र कोडसहित बिस्तारपूर्वक व्याख्या गरिनेछ, कृपया अन्त्यसम्म हेर्नुहोस्।

2. चिरि-आगे प्रक्रिया को मूलभूत विधिहरू

C Gengo मा “चिरि-आगे” कार्यान्वयन गर्नका लागि केही विधिहरू छन्। प्रयोग र ह्यान्डल गर्ने डेटा प्रकार अनुसार उपयुक्त विधि चयन गर्नु महत्त्वपूर्ण छ। यहाँ, प्रतिनिधि विधिहरू जस्तै “ceil kansū को प्रयोग” र “सूत्रद्वारा पूर्णांकको चिरि-आगे”, साथै “कास्ट र स्थिरांक जोड्ने विधि” बारे क्रमशः व्याख्या गर्नेछौं।

2.1 ceil() कार्यलाई प्रयोग गरेर चिरि-आगे

C Gengo मा चिरि-आगे गर्नको लागि पहिलो देखिने कुरा मानक पुस्तकालय math.h द्वारा प्रदान गरिएको ceil() कार्य हो। ceil() ले फ्लोटिङ पोइन्ट संख्यालाई आर्गुमेन्टको रूपमा लिन्छ र त्यस मानभन्दा ठूलो वा बराबरको सबैभन्दा सानो पूर्णांक मान(=चिरि-आगे मान)फिर्ता गर्छ।
उदाहरणका लागि, 3.2 लाई चिरि-आगे गर्दा 4.0, -3.2 भने -3.0 फिर्ता हुन्छ।

#include <stdio.h>
#include <math.h>

int main(void) {
    double val = 3.2;
    double result = ceil(val);
    printf("%.1fउपरि गोल गरिएको परिणाम: %.1fn", val, result); // 3.2उपरि गोल गरिएको परिणाम: 4.0
    return 0;
}

बिन्दुको रूपमा, फिर्ता मान “पूर्णांक” होइन “फ्लोटिङ पोइन्ट संख्या” हुन्छ।
अर्को, ceil() (double gata को लागि) बाहेक, ceilf() (float gata को लागि), ceill() (long double gata को लागि) जस्ता, प्रयोग अनुसारका कार्यहरू पनि उपलब्ध छन्।

ध्यान दिनु पर्ने बुँदा:

  • ceil() प्रयोग गर्नको लागि math.h लाई इन्क्लुड गर्नुपर्छ, र लिंक गर्दा -lm विकल्प(Linux वा UNIX प्रणालीको अवस्थामा)आवश्यक हुन्छ।
  • फिर्ता मान “पूर्णांक प्रकार” नभएर, पूर्णांकमा रूपान्तरण गर्न चाहनुहुन्छ भने स्पष्ट कास्ट आवश्यक हुन्छ।

2.2 पूर्णांक मात्र प्रयोग गरेर समाप्त हुने “(x + y – 1) / y” सूत्र

Kyōgi puroguramingu वा Gyōmu rojikku मा, फ्लोटिङ पोइन्ट संख्या प्रयोग नगरी “पूर्णांकहरू बीच चिरि-आगे” कार्यान्वयन गर्न चाहने धेरै स्थितिहरू छन्। त्यसका लागि प्रायः प्रयोग हुने सरल सूत्र हो,
“(x + y – 1) / y”

उदाहरणका लागि, 13 वटा Aitemu लाई 1 हाकोमा 5 वटा गरी राख्दा, आवश्यक हाकोको संख्या चिरि-आगे गरेर निकाल्न चाहनुहुन्छ भने:

int items = 13;
int box_size = 5;
int boxes = (items + box_size - 1) / box_size; // boxes = 3

यो सूत्र “विभाजनमा बाँकी आएमा, चिरि-आगे गरेर पूर्णांक परिणाम प्राप्त गर्ने” को लागि सामान्य प्रविधि हो। फ्लोटिङ पोइन्ट गणना प्रयोग नगरी, प्रकार रूपान्तरण वा अनावश्यक पुस्तकालयहरू आवश्यक नपर्दा, प्रदर्शनमा पनि उत्कृष्ट हुन्छ।

ध्यान दिनु पर्ने बुँदा:

  • x वा y नकारात्मक संख्या भएमा इच्छित रूपमा काम नगर्न सक्छ, त्यसैले सकारात्मक पूर्णांकमा प्रयोग गर्नु मूलभूत हो।
  • ओभरफ्लोमा ध्यान दिनु आवश्यक हुन सक्छ।

2.3 कास्ट र स्थिरांक जोड्ने प्रयोग गरेर अनुप्रयोग ढाँचा

गणना परिणामलाई “दशमलवको n औं अंकमा चिरि-आगे” गर्न चाहनुहुन्छ वा भागफल प्रक्रिया कडाइका साथ आवश्यक परेमा “स्थिरांक जोड” वा “कास्ट” सँग संयोजन गर्ने विधि पनि प्रयोग गरिन्छ।

उदाहरण: Shōhizei गणनामा kingaku लाई चिरि-आगे गर्न चाहनुहुन्छ।

double price = 3980;
double tax_rate = 0.1;
int price_with_tax = (int)(price * (1 + tax_rate) + 0.9999);
// 4380.0 * 1.1 = 4378 → 4378.999… → (int) मा 4379 हुन्छ (वास्तवमा अझै अंक समायोजन आवश्यक छ)

यो विधि आवश्यक अंकसंख्याअनुसार “कुन मान जोड्ने” र “कुन प्रकारमा कास्ट गर्ने” परिवर्तन गरेर लचिलो रूपमा प्रयोग गर्न सकिन्छ। तर, फ्लोटिङ पोइन्टको गोलाई त्रुटिमा ध्यान दिनु आवश्यक छ।

侍エンジニア塾

3. प्रत्येक विधिको तुलना

अब सम्म, C भाषा मा ceil कार्यान्वयन गर्ने 3 प्रमुख विधिहरू प्रस्तुत गरियो। अब, प्रत्येक विधिको के विशेषता, फाइदा‑नु्क्सानहरू छन्?
यस खण्डमा “ceil function”, “(x + y – 1) / y सूत्र”, “कास्ट र स्थिरांक जोड” का 3 विधिहरूलाई स्पष्ट रूपमा तुलना गर्नेछौं।

विधिफाइदानु्क्सानमुख्य प्रयोग उदाहरणहरू
ceil function(math.h)・सहज र पढ्न सजिलो
・नकारात्मक संख्याहरूलाई पनि समर्थन
・math.h आवश्यक
・फिर्ती मान फ्लोटिङ‑प्वाइन्ट प्रकार
सामान्य ceil प्रक्रिया, डेटा विश्लेषण, सांख्यिकीय गणना आदि
(x + y – 1) / y सूत्र・पूर्णांक गणना मात्रमा द्रुत
・अनावश्यक प्रकार रूपान्तरण आवश्यक छैन
・नकारात्मक संख्यामा कमजोर
・शून्य भाग
एरे विभाजन, पेजिनेशन, प्रतिस्पर्धी प्रोग्रामिङ
कास्ट+स्थिरांक जोड・math.h आवश्यक छैन
・दशमलव n‑औं अंकको ceil मा प्रयोग गर्न सकिन्छ
・त्रुटि र अंकसंख्यामा ध्यान आवश्यक
・कार्यान्वयनमा बिचार आवश्यक हुन सक्छ
रकम गणना, साना भागको प्रक्रिया आवश्यक पर्ने तर्कहरू

3.1 कुन विधि चयन गर्ने?

  • यदि निश्चय नहुनुहोस्ceil() फङ्सन
    प्रकार वा वातावरणको प्रतिबन्ध नहुनु भएमा,सहज र त्रुटि कम हुनेceil() सुरक्षित छ।
  • द्रुतता‑र पूर्णांक‑प्रकार मात्र चाहनुहुन्छ भने सूत्र
    एरे प्रक्रिया वा पेज आवंटन जस्ता, “पूर्णांक मात्रले द्रुत रूपमा गर्न चाहनुहुन्छ” अवस्थामा(x + y - 1) / y सूत्र उत्तम छ।
  • रकम गणना वा दशमलव अंक निर्दिष्ट गर्न कास्ट+स्थिरांक जोड
    उदाहरणका लागि “कर सहित मूल्यलाई 1 रूपैयाँमा सधैं माथि गोलाई” जस्ता, व्यावहारिक साना नियमहरूलाई सम्बोधन गर्न कास्ट+स्थिरांक जोड लचिलो छ।

3.2 ध्यान दिनु पर्ने जाल

  • ceil() को फिर्ती मान सधैं “फ्लोटिङ‑प्वाइन्ट” हो। पूर्णांकमा प्रयोग गर्न चाहनुहुन्छ भने कास्ट बिर्सनुहोस्।
  • (x + y - 1) / y सूत्र “नकारात्मक संख्याहरू” वा “शून्य भाग” हुँदा सावधान रहनुहोस्। इनपुट मानलाई अनिवार्य रूपमा जाँच गर्नुहोस्।
  • कास्ट वा स्थिरांक जोड “राउन्डिङ त्रुटि” वा “अंकसंख्या निर्दिष्ट” गलत भएमा अनपेक्षित मान उत्पन्न हुन्छ। पर्याप्त परीक्षण गर्नु महत्त्वपूर्ण छ।

4. व्यावसायिक प्रयोग केसहरू

C भाषा मा कटौती प्रक्रिया केवल गणितीय गणना मात्र होइन, दैनिक विकास स्थल र प्रणाली डिजाइनमा पनि व्यापक रूपमा प्रयोग हुन्छ। यहाँ, वास्तविक कार्यहरू तथा प्रतिस्पर्धी प्रोग्रामिङ जस्ता स्थानहरूमा प्रायः देखिने 「उपर उठाउने」 प्रक्रियाका प्रयोग उदाहरणहरू केही प्रस्तुत गरिन्छ।

4.1 प्रतिस्पर्धी प्रोग्रामिङ र एल्गोरिद्म समस्याहरूमा कटौती

उदाहरणका लागि AtCoder वा प्रतिस्पर्धी प्रोग्रामिङ समस्यामा 「N को तत्वलाई K को समूहमा विभाजन गर्दा, न्यूनतम कति समूह आवश्यक हुन्छ?」 सोधिएमा、
(N + K - 1) / K
यो सूत्र प्रायः प्रयोग गरिन्छ। यसले, यदि पूर्ण रूपमा विभाजित नहुनु भए पनि, सधैं कटौती गरिएको समूह संख्या प्राप्त गर्न मद्दत गर्छ।

उदाहरण

int N = 17;  // तत्वहरूको संख्या
int K = 5;   // प्रति समूहको तत्वहरूको संख्या
int groups = (N + K - 1) / K; // groups = 4

यो तर्कशास्त्रलाई एरेको विभाजन वा पेजिनेशनमा पनि सोझै लागू गर्न सकिन्छ।

4.2 रकम गणना तथा उपभोग करको दशमलव भाग प्रक्रिया

रकम वा उपभोग कर गणनाको कार्यस्थलमा, 1 येन भन्दा कमको दशमलव भागलाई सधैं 「उपर उठाउने」 गर्ने प्रचलन हुन्छ।
उदाहरणका लागि 「3,980 येनको वस्तुमा 10% उपभोग कर लगाएर, 1 येन इकाइमा माथि उठाउन चाहन्छु」 अवस्थामा तलको जस्तै लेख्न सकिन्छ।

double price = 3980;
double tax_rate = 0.10;
int total = (int)(price * (1 + tax_rate) + 0.9999);
// कुल रकम 1 येनको इकाइमा माथि गोल गर्नु

यो विधिले, सधैं 1 येन इकाइमा माथि उठाइन्छ(तर, फ्लोटिङ पोइन्ट त्रुटिमा ध्यान दिनुहोस्)。

4.3 एरेको पृष्ठ विभाजन तथा ब्याच प्रक्रिया

धेरै डेटा निश्चित संख्यामा प्रक्रिया गर्दा पनि, कटौती प्रक्रिया अनिवार्य हुन्छ। उदाहरणका लागि 100 वटा डेटा 1 पृष्ठमा 20 वटा गरी देखाउन चाहँदा, आवश्यक पृष्ठ संख्या निकाल्नका लागि
(100 + 20 - 1) / 20 = 5
भइन्छ।

4.4 अन्य प्रयोगहरू

  • निश्चित चौडाइमा खण्ड विभाजन(ग्राफ रेखाचित्रण तथा हिस्टोग्राम निर्माण आदि)
  • मेमोरी व्यवस्थापनमा ब्लक आकारमा कटौती गर्ने अवस्थामा
  • फाइल विभाजन वा ब्याच प्रेषणको समयमा विभाजन संख्या गणना

5. कोडिङ गर्दा ध्यान दिनुपर्ने बुँदाहरू

C भाषा मा राउन्ड‑अप प्रक्रिया कार्यान्वयन गर्दा, केवल विधि थाहा हुनु मात्र होइन, “कार्यान्वयन सम्बन्धी ध्यान दिनुपर्ने बुँदाहरू” र “सामान्य त्रुटिहरू” बुझ्नु महत्त्वपूर्ण छ। यस भागमा, गल्तीहरूबाट बच्नका लागि जान्नुपर्ने मुख्य बुँदाहरू संकलन गरिएको छ।

5.1 math.hको प्रयोग र लिंक विकल्प

ceil() कार्यलाई प्रयोग गर्दा, अनिवार्य रूपमा #include लेख्नुहोस्। थप रूपमा, Linux वा UNIX‑आधारित वातावरणमा निर्माण गर्दा, लिंक गर्दा -lm विकल्प थप्न आवश्यक हुन्छ।

gcc main.c -lm

यदि यो बिर्सनुहुन्छ भने “अपरिभाषित सन्दर्भ” जस्ता लिंक त्रुटिहरू उत्पन्न हुन्छन्।

5.2 रिटर्न मानको प्रकार र कास्टको आवश्यकता

ceil()ceilf() को रिटर्न मान “फ्लोटिङ‑प्वाइन्ट प्रकार” हो।
यदि पूर्णांक प्रकारको चलमा राउन्ड‑अप मान संग्रह गर्न चाहनुहुन्छ भने, स्पष्ट कास्ट आवश्यक हुन्छ।

double val = 5.3;
int result = (int)ceil(val); // परिणाम ६ हो

कास्ट नगरेमा, दशमलव भाग मात्र गुम्नेछ, त्यसैले सावधान रहनुहोस्।

5.3 पूर्णांक गणितीय अभिव्यक्तिमा इनपुट मानको प्रमाणी

(x + y - \01) / y अभिव्यक्तिले, भागफलको हर शून्य भएमा क्र्यास हुन्छ। साथै, नकारात्मक मान वा अत्यधिक मानहरूमा पनि इच्छित रूपमा काम नहुन सक्छ।
इनपुट मान “धनात्मक पूर्णांक” हो भन्ने कुरा अनिवार्य रूपमा जाँच गर्नुहोस्।

5.4 फ्लोटिङ‑प्वाइन्ट त्रुटि

फ्लोटिङ‑प्वाइन्ट संख्याहरू प्रयोग गरेर राउन्ड‑अप प्रक्रिया गर्दा, गणना त्रुटि उत्पन्न हुन सक्छ। उदाहरणका लागि “0.1” वा “0.9999” जस्ता, द्विआधारीमा ठीकसँग प्रतिनिधित्व गर्न नसकिने मानहरूलाई ह्यान्डल गर्दा सावधानी आवश्यक छ।
रकम वा वस्तु संख्या जस्ता, त्रुटि अस्वीकार्य परिस्थितिहरूमा “पूर्णांक प्रकारको अभिव्यक्ति” प्रयोग गर्नु सुरक्षित हुन्छ।

5.5 प्रकारको आकार र ओभरफ्लो

C भाषाको int प्रकार र long प्रकारका प्रत्येकको अधिकतम मान हुन्छ। ठूलो मानहरू बीच गणना गर्दा, ओभरफ्लो (परिणाम प्रकारको सीमा भन्दा बाहिर निस्कनु) नहुनुका लागि पूर्वमा जाँच गर्नु पनि महत्त्वपूर्ण छ।

6. FAQ बारम्बार सोधिने प्रश्नहरू

C भाषाको माथि गोलाई प्रक्रिया सम्बन्धी, धेरै मानिसहरूले सहजै प्रश्न उठाउने बुँदाहरूलाई Q&A ढाँचामा संकलन गरेका छौं। लेखको मुख्य भागमा उल्लेख नहुन सक्ने साना प्रश्नहरू र कार्यस्थलमा देखिने 「सामान्य घटनाहरू」 बारे पनि व्याख्या गर्दछौं।

Q1. ceil() फलन र (x + y - 1) / y सूत्र, कुन छिटो छ?

A. सामान्यतया 「पूर्णांक मात्र प्रयोग गर्ने (x + y - 1) / y सूत्र」 छिटो हुन्छ।
कारण भनेको, फ्लोटिङ‑प्वाइन्ट गणनाभन्दा पूर्णांक गणना कम गणनात्मक भार हुन्छ, र वातावरण अनुसार अनुकूलन सजिलो हुन्छ। यद्यपि, प्रयोग हुने डेटा प्रकार र प्रयोजन(नकारात्मक संख्याको ह्यान्डलिङ आदि)अनुसार उत्तम समाधान बदलिन सक्छ, त्यसैले परिस्थितिको आधारमा छनोट गर्नुहोस्।

Q2. नकारात्मक मानलाई माथि गोलाई गर्न चाहनुहुन्छ भने के गर्नुपर्छ?

A. (ceil()) फलन प्रयोग गर्दा, नकारात्मक मानहरूमा पनि सही माथि गोलाई प्रक्रिया गर्न सकिन्छ।
अर्कोतर्फ, (x + y - 1) / y सूत्र 「धनात्मक पूर्णांक」 को प्रयोगलाई मान्य मान्दछ, त्यसैले नकारात्मक संख्यामा अक्सर गलत नतिजा आउँछ। नकारात्मक मानलाई पनि समर्थन गर्न चाहनुहुन्छ भने, ceil() प्रयोग गर्नुहोस्, वा निरपेक्ष मान र चिन्ह उल्ट्याउने जस्ता उपायहरू आवश्यक पर्छ।

Q3. दशमलवको nऔं अंकमा माथि गोलाई गर्न चाहनुहुन्छ भने के गर्नुपर्छ?

A. सामान्यतया, मानलाई 「10 को n औं शक्ति」 ले एकपटक गुणा गरेर, ceil() गरी, त्यसपछि मूल मानमा फर्काउने विधि प्रयोग गर्न सकिन्छ।
उदाहरण: दशमलवको 2औं अंकमा माथि गोलाई गर्न चाहनुहुन्छ भने

#include <stdio.h>
#include <math.h>

int main(void) {
    double val = 1.2345;
    double result = ceil(val * 100.0) / 100.0; // दशमलवको 2 औं स्थानमा गोलाकार
    printf("%.4fको दशमलवको 2 औं स्थानमा गोलाकार गरिएको परिणाम: %.2fn", val, result); // 1.24
    return 0;
}

यो विधि अंकसंख्यालाई स्वतन्त्र रूपमा समायोजन गर्न सकिन्छ, त्यसैले रकम गणना जस्ता कार्यहरूमा पनि प्रयोग गर्न सकिन्छ।

Q4. फ्लोटिङ‑प्वाइन्ट त्रुटिले अनपेक्षित नतिजा आएमा कसरी समाधान गर्नुपर्छ?

A. फ्लोटिङ‑प्वाइन्ट संख्याहरू, विशेष मानहरू(उदाहरण: 0.1, 0.9999 आदि) द्विआधारीमा ठीकसँग प्रतिनिधित्व गर्न नसक्ने कारणले सानो त्रुटि उत्पन्न हुन्छ।
समाधानको रूपमा, त्रुटि महत्वपूर्ण हुने अवस्थामा 「पूर्णांकमा गणना」 मा परिवर्तन गर्नु, वा पर्याप्त दशमलव अङ्कसम्म गोलाई गरेर प्रक्रिया गर्नु जस्ता उपायहरू छन्।
विशेष गरी रकम वा स्टक संख्या जस्ता व्यापारिक तर्कहरूमा, सकेसम्म पूर्णांक गणना प्रयोग गर्न सिफारिस गरिन्छ।

Q5. माथि गोलाई・तल गोलाई・गोलाई (राउन्ड) को भिन्नता के हो?

A.

  • माथि गोलाई(ceil):निर्दिष्ट मानभन्दा ठूलो वा बराबर सबैभन्दा सानो पूर्णांकमा रूपान्तरण
  • तल गोलाई(floor):निर्दिष्ट मानभन्दा सानो वा बराबर सबैभन्दा ठूलो पूर्णांकमा रूपान्तरण
  • गोलाई(round):दशमलवको पहिलो अंक 5 वा बढी भए माथि गोलाई, 4 वा कम भए तल गोलाई

प्रत्येकको प्रयोग चयन व्यापारिक तर्क वा गणनाको नतिजा अनुसार उपयुक्त विकल्प चयन गर्न आवश्यक छ।

7. सारांश

यस लेखमा, सी भाषामा “उपरि गोलाई” प्रक्रिया को आधारभूतदेखि व्यावहारिक प्रयोगका उदाहरण, ध्यान दिनुपर्ने बुँदा, सामान्य प्रश्नहरू सम्म व्यापक रूपमा व्याख्या गरिएको छ।

उपरि गोलाई विभाजन, भागफलको भाग, रकम गणना, एरे विभाजन आदि जस्ता प्रोग्रामिङका विभिन्न परिस्थितिहरूमा उपयोगी महत्वपूर्ण प्रविधि हो।
ceil() फलन प्रयोग गर्दा फ्लोटिङ पोइन्ट संख्याको उपरि गोलाई सहजै कार्यान्वयन गर्न सकिन्छ, र पूर्णांक प्रकार मात्र प्रयोग गरेर समाप्त गर्न चाहनुहुन्छ भने “(x + y – 1) / y” सूत्र अत्यन्त प्रभावकारी हुन्छ।
त्यसै गरी, रकम गणना जस्ता साना अंकको भागको प्रक्रिया आवश्यक पर्दा कास्ट र स्थिरांक जोड्ने विधिहरूलाई लचिलो रूपमा प्रयोग गर्न सकिन्छ।

कुनै विधि चयन गरे पनि, “प्रकारको भिन्नता”“त्रुटि”“इनपुट मानको प्रमाणीकरण”“लिंक विकल्प” जस्ता केही बुँदाहरूमा ध्यान दिएर, सुरक्षित र सही कोडिङ सम्भव हुन्छ।
व्यावसायिक काम वा प्रतिस्पर्धी प्रोग्रामिङ जस्ता, आफ्नो प्रयोग र प्रतिबन्ध अनुसार उत्तम विधि चयन गर्नुहोस्।

आगामी पनि सी भाषाको आधारभूत प्रविधि र जालहरू सिक्दै, निश्चित रूपमा आत्मसात गरौं।

年収訴求