Posted: Mon Feb 12, 2007 10:42 am
Thanks a lot! I use GCC so I often use iostream for both printf and cout...
The Online Judge board
https://onlinejudge.org/board/
Code: Select all
1
a is divisible by m (that is, a mod m = 0) for all 1 <= i < k
Code: Select all
#include<stdio.h>
#include<string.h>
#include<math.h>
#define eps 0.0000001
int main()
{
int n,m,r,k,k1;
double re;
//freopen("in.txt","r",stdin);
//freopen("out.txt","w",stdout);
while(scanf("%d %d",&n,&m)!=EOF)
{
if(n==1||m==1)printf("Boring!\n");
else if(n==0||m==0)printf("Boring!\n");
else
{
re=(double)(log(n)/log(m));
k=floor(re);
k1=ceil(re);
//printf("%lf %d %d %lf",re,k,k1,re-k);
if((re-k)<eps||(k1-re)<eps)
{
printf("%d",n);
while(1)
{
r=n/m;
printf(" %d",r);
n=r;
if(r==1)break;
}
printf("\n");
}
else
{
printf("Boring!\n");
}
}
}
return 0;
}
Code: Select all
5 0
Code: Select all
Boring!
Code: Select all
Acc At last
Code: Select all
#include<iostream>
#include<queue>
using namespace std;
int main()
{
unsigned long int n,b;
while(1)
{
level:
queue<int>q;
cin>>n>>b;
while(n>1)
{
if(n%b==0){
q.push (n);
n=n/b;
}
else
if(n%b<b&&n>1){
cout<<"Boring!"<<endl;
goto level;
}
}
q.push (1);
while(!q.empty ())
{
cout<<q.front()<<" ";
q.pop ();
}
cout<<endl;
}
return 0;
}
Code: Select all
#include<stdio.h>
#include<queue>
using namespace std;
int main()
{
long int n,b;
while(scanf("%ld %ld",&n,&b)==2)
{
queue <int >q;
if(b==0||n==0||(n==1&&b==1)||n<b)
{
printf("Boring!\n");
continue;
}
while(n>0)
{
if(n%b==0||(n%b==1&&n==1)){
q.push (n);
n/=b;
}
else if(n%b<b&&n%b>=1){
printf("Boring!");
goto l;
}
}
while(!q.empty ())
{
printf("%d ",q.front ());
q.pop ();
}
l:
printf("\n");
}
return 0;
}