HDU 2045 不容易系列之(3)—— LELE的RPG难题(最简洁代码没有之一,数学大法好)

来源:互联网 发布:模拟网络攻击软件 编辑:程序博客网 时间:2024/05/17 03:28

有些题其实有很多种方法,利用数学往往有奇效,并且极为简洁,高效


这个题就是中学的环形涂色问题,是有公式的







最简形式如下

#include<stdio.h>#include<math.h>int main(void){  int n;  while (scanf("%d", &n) != EOF) {    printf("%0.f\n", n==1?3:(n%2==0?pow(2.0, n) + 2:pow(2.0, n) - 2));  }  return 0;}


当n=1时,直接为k种颜色

除此之外,为奇数时2^n-2,

  为偶数时2^n+2.


翻译代码如下


#include<stdio.h>#include<math.h>int main(void){  int n;  while (scanf("%d", &n) != EOF) {    if (n == 1) {      printf("3\n");    } else {      if (n % 2==0) {        printf("%0.f\n", pow(2.0, n) + 2);      } else {        printf("%0.f\n", pow(2.0, n) - 2);      }    }  }  return 0;}


阅读全文
0 0
原创粉丝点击