If n<2 or m<2, it's "Boring!"
If at some point (n%m != 0), it's "Boring!" to the limit :P
Method:
I store the result in a string (char arrray) when the division is taking place. If the sequence is found to be not boring, print the string.
#include #include <stdio.h>
#include <string.h>
char output[1000000], temp[1000000];
int addStr(char *des, int val, int len)
{
if (!len)
sprintf(des,"%d",val);
else
{
int i, j;
sprintf(temp," %d",val);
int ln = strlen(temp);
for (i=len, j=0 ; j<ln ; i++, j++)
{
des[i]=temp[j];
}
des[i]='\0';
return (len+j);
}
return strlen(des);
}
int main()
{
int n, m;
while (scanf("%d %d",&n,&m)==2)
{
int lnt = 0;
int b=0;
if (n<2 || m<2)
{
printf("Boring!\n");
continue;
}
while (n>1)
{
lnt=addStr(output,n,lnt);
if (n%m != 0)
b=1;
n/=m;
}
lnt=addStr(output,n,lnt);
if (b)
printf("Boring!\n");
else
printf("%s\n",output);
}
return 0;
}
No comments:
Post a Comment
Post your comment here. If you want to say something about programming problems, scripts, software etc, please try to be as descriptive as possible.