📄 1241.cpp
字号:
/* This Code is Submitted by wywcgs for Problem 1241 on 2005-09-30 at 13:30:38 */
#include <cstdio>
class BigInt {
public:
long num[800];
BigInt() {
int i;
for(i = 0; i < 800; i++) {
num[i] = 0;
}
num[0] = 1;
}
void muti(int a) {
int i;
for(i = 0; i < 800; i++) {
num[i] *= a;
}
for(i = 0; i < 780; i++) {
num[i+1] += num[i] / 10;
num[i] %= 10;
}
}
void stat(int *s) {
int i;
bool haveNum = false;
for(i = 799; i >= 0; i--) {
if(num[i] == 0) {
if(haveNum) {
s[0]++;
}
} else {
s[num[i]]++;
haveNum = true;
}
}
}
};
int main()
{
int st[370][10] = {{0}};
BigInt *bi = new BigInt;
int i, j, n;
for(i = 1; i <= 366; i++) {
bi->stat(st[i]);
bi->muti(i+1);
}
while(scanf("%d", &n) == 1) {
if(n == 0) {
return 0;
} else {
printf("%d! --\n", n);
for(j = 0; j < 10; j++) {
printf(" (%d)%5d", j, st[n][j]);
if(j == 4 || j == 9) {
putchar('\n');
} else {
putchar(' ');
}
}
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -