কম্পিউটার

C++ এ n এর আগে বর্গক্ষেত্র এবং অ-বর্গীয় সংখ্যা গণনা করুন


আমাদের একটি সংখ্যা দেওয়া হয়েছে। লক্ষ্য হল ধনাত্মক সংখ্যার ক্রমযুক্ত জোড়া খুঁজে বের করা যাতে তাদের ঘনকের যোগফল হয় N।

নিষ্পাপ দৃষ্টিভঙ্গি

1 থেকে N পর্যন্ত সমস্ত সংখ্যা অতিক্রম করুন এবং এটি একটি নিখুঁত বর্গ কিনা তা পরীক্ষা করুন। যদি মেঝে(sqrt(i)==ceil(sqrt(i)).

তাহলে সংখ্যাটি একটি নিখুঁত বর্গ।

দক্ষ পদ্ধতি

N এর নিচের নিখুঁত বর্গগুলি সূত্র ব্যবহার করে পাওয়া যাবে:ফ্লোর(sqrt(N))।

উদাহরণ দিয়ে বোঝা যাক।

ইনপুট

N=20

আউটপুট

Count of square numbers: 4
Count of non-square numbers: 16

ব্যাখ্যা

Square numbers are 1, 4, 9 and 16. Rest all are non-squares and less than 20.

ইনপুট

N=40

আউটপুট

Count of square numbers: 6
Count of non-square numbers: 34

ব্যাখ্যা

Square numbers are 1, 4, 9, 16, 25, 36. Rest all are non-squares and less than 40.

নিষ্পাপ দৃষ্টিভঙ্গি

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • আমরা পূর্ণসংখ্যা N.

    নিই
  • ফাংশন squareNums(int n) n নেয় এবং n এর নিচের সংখ্যার গণনা প্রদান করে যেগুলো নিখুঁত বর্গ বা অ-বর্গ।

  • প্রারম্ভিক পরিবর্তনশীল গণনাকে 0 হিসাবে নিন।

  • i=1 থেকে i<=n

    পর্যন্ত লুপ ব্যবহার করে ট্র্যাভার্স করুন
  • যদি ফ্লোর(sqrt(i)==ceil(sqrt(i)), তাহলে সংখ্যাটি একটি নিখুঁত বর্গ তাই সংখ্যা বৃদ্ধি।

  • সমস্ত লুপ গণনার শেষে একটি মোট সংখ্যা থাকবে যা নিখুঁত বর্গক্ষেত্র।

  • এন-বর্গ হবে এমন সংখ্যা যা অ বর্গাকার

উদাহরণ

#include <bits/stdc++.h>
#include <math.h>
using namespace std;
int squareNums(int n){
   int count = 0;
   for (int i = 1; i <= n; i++){
      if(floor(sqrt(i))==ceil(sqrt(i)))
         { count++; }
   }
   return count;
}
int main(){
   int N = 40;
   int squares=squareNums(N);
   cout <<endl<<"Count of squares numbers: "<<squares;
   cout <<endl<<"Count of non-squares numbers: "<<N-squares;
   return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
Count of squares numbers: 6
Count of non-squares numbers: 34

দক্ষ পদ্ধতি

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • আমরা পূর্ণসংখ্যা N.

    নিই
  • পরিবর্তনশীল বর্গ =তল(sqrt(N)) নিন।

  • পরিবর্তনশীল বর্গক্ষেত্রে N.

    এর নিচে অনেকগুলো নিখুঁত বর্গ থাকবে
  • N-বর্গ হল N-এর নিচের অ-বর্গক্ষেত্রের সংখ্যা।

উদাহরণ

#include <bits/stdc++.h>
#include <math.h>
using namespace std;
int main(){
   int N = 40;
   int squares=floor(sqrt(N));
   cout <<endl<<"Count of squares numbers: "<<squares;
   cout <<endl<<"Count of non-squares numbers: "<<N-squares;
   return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
Count of squares numbers: 6
Count of non-squares numbers: 34

  1. C++-এ Bitwise AND সংখ্যার পরিসর

  2. C++ এ ধাঁধার আগে এবং পরে

  3. C++ এ মৌলিক সংখ্যা এবং ফিবোনাচি

  4. C++ এ একটি বর্গ ম্যাট্রিক্সে সর্বোচ্চ এবং সর্বনিম্ন