#include < stdio.h >
    int main()
    {
        int t,n,m,i,j;

        scanf("%d",&t);
        for(i=0; i < t; i++)
        {
            scanf("%d",&n);
            for(m=0; m <= n/2; m++)
            {
                if(m*m==n)
                {
                    printf("YES\n");
                    break;
                }

            }
            if(m>n/2)
                printf("NO\n");
        }
        return 0;
    }

why this code is getting wrong ans?

asked 30 Sep, 16:45

nishat's gravatar image

nishat
615

edited 30 Sep, 17:17

menon's gravatar image

menon
3.9k222

1

code indent করার জন্য কোড select করে Ctrl + K চাপুন ।

(30 Sep, 17:19) menon

bujhini vaia.. :(

(10 Oct, 06:53) nishat

আপনার code 0 কে পূর্ণবর্গ বলছে আর 1 কে পূর্ণবর্গ না বলছে।

 for(m=0; m <= n/2; m++)
        {
            if(m*m==n)
            {
                printf("YES\n");
                break;
            }
}

কারণ উপরের code অনুসারে 0 র জন্য if(0*0 == 0) true হচ্ছে তাই উত্তর ভুল আসছে। তাই problem এ 0 আর 1 এর ব্যাপারে কি বলা হয়েছে সেটা খেয়াল করলে আসা করি হয়ে যাবে।

permanent link

answered 10 Oct, 18:03

Sheikh_Fahad's gravatar image

Sheikh_Fahad
2956

edited 10 Oct, 18:07

1

thanks :) :)

(11 Oct, 03:12) nishat
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×355

question asked: 30 Sep, 16:45

question was seen: 199 times

last updated: 11 Oct, 03:12