解题思路:
注意事项:
参考代码:
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n=scanner.nextInt(); int[] dp=new int[32767]; dp[1]=0; dp[2]=1; dp[3]=3; for(int i=4;i<32767;i++) {//把人群划分成两半进行交换 if(i%2==0) {//偶数个人 dp[i]=dp[i/2]+dp[i/2]; }else {//奇数个人 dp[i]=dp[i/2]+dp[i/2+1]; } } while(n-->0) { int m=scanner.nextInt(); System.out.println(dp[m]); } } }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:727 |
C语言程序设计教程(第三版)课后习题9.1 (C语言代码)浏览:703 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:565 |
DNA (C语言代码)浏览:433 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:648 |
钟神赛车 (C语言代码)浏览:654 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:470 |
排序算法(选择,插入,冒泡)浏览:874 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:1201 |
众数问题 (C语言代码)浏览:656 |