Others
Maths Puzzle
Programming
Bleak Numbers
In Mathematics each number has one special number, which it supports, chosen as follows. It counts the number of ones in its own binary representation, and adds this count to itself to obtain the value of the number it supports. That is, if j(m) means the number of ones in the binary representation of m, then m supports m+j(m). For example, the number eight (1000 in binary) supports nine, whereas nine supports eleven.
However, in this way not all the numbers get supported; some are left without support, and we call these numbers bleak. For example since one supports two, two supports three and three supports five, there is no number less than four, which would support four, so four is bleak.
Your task is for a given number recognize if it is bleak or supported by some number.
Input
First integer containing the number of test cases, followed by the number to be checked.
Output
For every checked number n write one line containing the word BLEAK if n is bleak or the word SUPPORTED if given n there exists m such that n=m+j(m). In case of wrong input print -999.
Examples
Input:
2,4,9
Read Solution (Total 1)
-
- #include
#include
using namespace std;
int co(int);
int main()
{
int n, c, i;
scanf_s("%d",&n);
for (i = 1; i = n)
printf("Bleakn");
return 0;
}
int co(int n)
{
int i = 0;
while (n != 0)
{
if (n % 2 == 1)
i++;
n = n / 2;
}
return i;
} - 8 years agoHelpfull: Yes(0) No(0)
Others Other Question