#include<iostream>
#include<stdio.h>
#include<cstdio>
using namespace std;
void funct(int a , int b);
int array[25]={ 2, 3, 5, 7,11,13,
17,19,23,29,31,37,
41,43,47,53,59,61,
67,71,73,79,83,89,97};
int buffer;
int step;
int main(int argc, char* argv[])
{
int a;
int b;
while(cin != NULL)
{
cin>>a;
//store the input
if(a != 0)
{
printf("%3d! =",a);
b = 0;
step = 0;
buffer = 0;
while(a >= array[b])
{
funct(a,b);
b++;
if(b == 25)
break;
}
}else
{
break;
}
printf("\n");
}
return 0;
}
void funct(int a , int b)
{
if(a >= array[b])
{
buffer += a/array[b];
a = a/array[b];
funct(a,b);
}else
{
step++;
if(step == 16)
{
printf("\n ");
step = 1;
}
printf("%3d",buffer);
buffer = 0;
}
}
Thursday, July 29, 2010
ACM-160 Factors and Factorials with C++
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment