Help me in solving HOWMANY problem

My issue

My code

#include <iostream>
using namespace std;

int main() {
	int t;
	cin>>t;
	while (t--)
	{
	    int n;
	    cin>>n;
	    int y=n/10;
	    int u=n/100;
	    int o=n/1000;
	    if (y==0){cout<<"1";}
	    else if (u==0 && y!=0){cout<<"2";}
	    else if (o==0&& u!=0){cout<<"3";}
	    else if (o !=0){cout<<"more than 3";}
	    cout<<endl;
	    
	}
	return 0;
}

Problem Link: HOWMANY Problem - CodeChef

@sakshammaitri
The given problem can simply solved by providing the right conditionals.

Here the logic I use to solve it was like this;

If a number is a single digit number, it would be lower than smallest 2-digit number,(10).

In the same way, for a number to be 2-ditgit one, it will be lower than smallest 3-digit number,(100).

For a number to be 3-digit one, it needs to be smaller than smallest 4-digit number, (1000).

For any number not falling in any of above categories, it will be in More than 3 digit number.

Here is my code for reference.

# cook your dish here
n=int(input())
if(n<10):
    print('1')
elif(n<100):
    print('2')
elif(n<1000):
    print('3')
else:
    print('More than 3 digits')
    
    
1 Like

Thank You for your help : D