B类
1.(卷2题四 搬运)编写程序,用户输入n,计算下列多项式的值
【样例输入】15
【样例输出】2.718282
C类
2.(原创)编写程序,求2的100次方的末五位值。
注:2的100次方等于1267650600228229401496703205376,故末五位值为05376
由于这个数太大,超出任何一种数据类型能容纳的数值范围,所以直接算出2的100次方再取后五位是不现实的
----------------------------以下为答案-------------------------------
1.
#include <stdio.h>
int main() {
int n, i, j, sum;
double result = 1;
scanf("%d", &n);
for (i = 1; i <= n; i++) {
sum = 1;
for (j = 1; j <= i; j++) {
sum *= j;
}
result += 1.0 / sum;
}
printf("%lf\n", result);
return 0;
}
2.
#include <stdio.h>
int main() {
int a[5] = {0};
int i, j;
a[0] = 1;
for (i = 0; i < 100; i++) {
for (j = 0; j < 5; j++) {
a[j] *= 2;
if (j > 0 && a[j-1] > 10) {
a[j] += a[j-1] / 10;
a[j-1] %= 10;
}
}
a[4] %= 10;
}
for (i = 4; i >= 0; i--) {
printf("%d", a[i]);
}
putchar('\n');
return 0;
}
(法二)
#include <stdio.h>
int main() {
int i, result;
result = 1;
for (i = 0; i < 100; i++) {
result *= 2;
if (result > 99999) {
result %= 100000;
}
}
printf("%d\n", result);
return 0;
}