【例题】打印从1000到2000年的闰年
闰年:
int main() {
int year = 1000;
int count = 0;
for(;year <=2000;year++) {
if((year % 4 == 0 && year%100) || year%400 == 0) {
count++;
printf("%d ", year);
}
}
printf("%d ", count);
return 0;
}
【例题】打印100-200之间的素数
素数:只能被1和它本身除的树
int main() {
int num = 100;
int count = 0;
for (; num <= 200; num++) {
int i;
for (i = 2; i < num; i++) {
if (num % i == 0)
break;
}
if (i == num) {
printf("%d ", num);
count++;
}
}
printf("\\n%d", count);
return 0;
}
算法优化:
int main() {
int num = 101;
int count = 0;
for (; num <= 200; num+=2) {
int i;
for (i = 2; i <=sqrt(num); i++) {
if (num % i == 0)
break;
}
if (i > sqrt(num)) {
printf("%d ", num);
count++;
}
}
printf("\\n%d", count);
return 0;
}