- 本文出自svtter.github.io
基础第二弹
虽然是很水的题目,但是还是收获了不少。
动态小数位数
#include <stdio.h> #include <math.h> int main() { int a, b, c; while(~scanf("%d %d %d", &a, &b, &c)) { printf("%.*lf", c, a/(double)b); } return ; }
整数位数
// 整数位数 int cal(int a) { if(a == 0) return 0; return (int) log10( (double) a)+1; }
电灯
#include <stdio.h> #include <string.h> #define bool int //C语言没有bool bool light[1010]; //C也没有引用 void trans(bool *a) { if(*a) *a = ; else *a = 1; } int main() { int i, j; int n, k; while(~scanf("%d %d", &n, &k)) { memset(light, , sizeof(light)); for(i = 1; i <= k; i++) { j = i; while(j <= n) { trans(&light[j]); j += i; } } for(i = 1; i <= n; i++) { if(light[i]) printf("%d ", i); } printf("\n"); } return ; }
蛇型填数
#include <stdio.h> #include <string.h> #define bool int //C语言没有bool bool light[1010]; //C也没有引用 void trans(bool *a) { if(*a) *a = ; else *a = 1; } int main() { int i, j; int n, k; while(~scanf("%d %d", &n, &k)) { memset(light, , sizeof(light)); for(i = 1; i <= k; i++) { j = i; while(j <= n) { trans(&light[j]); j += i; } } for(i = 1; i <= n; i++) { if(light[i]) printf("%d ", i); } printf("\n"); } return ; }
调和级数
#include <stdio.h> #include <math.h> double calharmony(int a) { double sum = ; int i; for(i = 1; i <= a; i++) { sum += 1/(double)i; } return sum; } int main() { int a; while(~scanf("%d", &a)) { printf("%.3lf\n", calharmony(a)); } return ; }
题目都很水(不能再水了),但是也算是有所收获。学习了一部分C。