啊啊啊... 不抄題目了.
第二題比較特別, 需要的技巧其實還不算低.
也要用到簡單的離散數學.
除非是暴力求解--擲出重複的, 再擲; 重複的, 再擲...
春天到了, 好懶......................
E1) # include <stdio.h>
int main()
{
int num[] = {1, -5, 85, 5, -2, 0, 7, 10, 23, -56, -7, 2};
int i, sum;
for (i = 0, sum = 0; i < sizeof num / sizeof *num; i++)
if (num[i] > 0)
sum += num[i];
printf("Total sum of positive numbers == %d.\n", sum);
return 0;
}
E2) # include <stdio.h>
# include <stdlib.h>
# include <time.h>
# define nmemb(array) (sizeof array / sizeof *array)
int cmp(const void *, const void *);
int cmp(const void *a, const void *b)
{
return *(int *)a - *(int *)b;
}
int main()
{
int num[7] = {0,};
int i, sum;
srand(time(NULL));
for (i = 1; i < nmemb(num); i++)
num[i] = rand() % 37;
qsort(num + 1, nmemb(num) - 1, sizeof *num, cmp);
for (i = 1, sum = 0; i < nmemb(num); i++) {
sum += num[i] - num[i - 1] + 1;
printf("num[%d] == %d\n", i, sum);
}
return 0;
}
E3) # include <stdio.h>
# include <math.h>
int main()
{
double x;
double f, sum;
int i;
x = 2.0, f = 1.0, sum = 0;
for (i = 1; i <= 20; i++) {
f *= x / i;
sum += f;
printf("loop[%02d] %.15f\n", i, sum);
}
printf("e^x-1 == %.15f\n", exp(x) - 1.0);
return 0;
}
--
新詩練習:新鮮。踩破初春裡的狗大便;不經意的滄桑,滿溢著嫩黃的喜悅。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.58.142