解题思路:

注意事项:

参考代码:

import java.math.BigInteger;
import java.util.Scanner;
/*
你需要统计所有满足下列条件的长度为 n 的字符串的个数:
   1、字符串仅由 A、T、C、G 组成
   2、A 出现偶数次(也可以不出现)
   3、C 出现偶数次(也可以不出现)

   当 n=2 时,所有满足条件的字符串有如下 6 个:

TT,TG,GT,GG,AA,CC。

注: 由于这个数可能非常庞大,你只需给出对 10^9 + 7 取模的结果即可。

对于输入文件中的每一个 n,输出满足条件的字符串的个数对 10^9 + 7 取模的结果。
*/

public class Main {
   
   public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);

      // System.out.println(mod);
       while(sc.hasNext()){
           int n = sc.nextInt();
           if (n==0) return;
           System.out.println(SRAR(n));
       }

   }

   private static BigInteger SRAR(int n) {
       BigInteger one = new BigInteger("1");
       BigInteger Mymod = new BigInteger("1000000007");
       BigInteger two = new BigInteger("2");
       BigInteger Count;
       Count = two.pow(n-1).multiply(((two.pow(n-1))).add(one));
       return Count.mod(Mymod);
   }
}

点赞(0)
 

0.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论