
本文共 3156 字,大约阅读时间需要 10 分钟。
������������������
������������������������������������������������������������������������������������������1-2+3-4+5-6+7+...+n���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
������������������������������
���������������������������������������������������������������
long fn(long n) { long temp = 0; int i, flag = 1; if (n <= 0) { printf("error: n must > 0"); exit(1); } for (i = 1; i <= n; i++) { temp += flag * i; flag *= -1; } return temp;}
������������������������������������������������������1������n���������������������������������������������������������������������������������������������������������������������n������������������������������������������
������������������������������
���������������������������������������������������������������������������������������������������������������������������������������
long fn(long n) { long temp = 0; int j = 1, i = 1, flag = 1; if (n <= 0) { printf("error: n must > 0"); exit(1); } while (j <= n) { temp += i; i = -i; i > 0 ? i++ : i--; j++; } return temp;}
������������������������������������������������������������������������������������������������������������������������������������������������������������������������
������������������������������������
������������������������������������������������������������������������������������������
long fn(long n) { if (n <= 0) { printf("error: n must > 0"); exit(1); } if (n % 2 == 0) { return (n > 1) ? (-1) : 0; } else { return (n > 1) ? (-1) : 0; }}
������������������������������������������������������������������������������������������O(n)���������O(1)������������������������������������������������������������������������
������������������������������������������
���������������������������������������������������������������������������������������������������������������flag���������0������������fn1(n)=n/2!+n/3!+n/4!+���+n/6!������flag���������1������������fn2(n)=n/5!+n/6!+n/7!+���+n/9!���
���������������������������������������������
float fn(int n, int flag) { if (n <= 0) { return 0; } float t[2][5] = {1.0/2, 1.0/3, 1.0/4, 1.0/5, 1.0/6, 1.0/5, 1.0/6, 1.0/7, 1.0/8, 1.0/9}; float result = 0; for (int i = 0; i < 6; i++) { result += n / t[flag][i]; } return result;}
������������������������������������������������������������������������������������������������������������������������
���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
发表评论
最新留言
关于作者
