突然就想做一个这个……下面的代码都是ac的,但是不一定是最优解,如果有任何想法的话欢迎在评论里写出!!!
【id:340】【20分】D. 求交错序列前N项和
#include <stdio.h>
int main() {
int N, i, l = 1;//l为分母
//这里flag定义为浮点数方便后续sum的浮点运算
double sum = 0, flag = 1.0;
scanf("%d", &N);
//每执行一次循环flag转换一次正负
for (i = 1; i <= N; flag = -flag, i++, l = i * 2 - 1) {
sum = sum + i * flag / l;
}
printf("%.3lf", sum);
return 0;
}
【id:338】【20分】E. 实验2-4-8 找出三位水仙花数
#include <stdio.h>
#include <math.h>
int main() {
int M, N, a, b, c;
scanf("%d %d", &M, &N);
if (100 <= M && M <= N && N <= 999) {
for (int a, b, c; M <= N; M++) {
//下面将数的个十百位拆开
c = M % 10;//个位
b = (M % 100 - c) / 10;//十位
a = M / 100;//这里是整数运算所以是整除,直接取出百位
if (pow(a, 3) + pow(b, 3) + pow(c, 3) == M) {//验证条件是否满足
printf("%d\n", M);
}
}
} else
printf("Invalid Value.");
return 0;
}