codeforces679A_Bear and Prime 100 交互题

Posted fo0o0ol

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了codeforces679A_Bear and Prime 100 交互题相关的知识,希望对你有一定的参考价值。

传送门

第一道交互题

 

题意

  电脑事先想好了一个数【2100】

  你会每次问电脑一个数是否是它想的那个数的因数

  电脑会告诉你yes或no
  
  至多询问20次
  最后要输出它想的数是质数还是合数

 

思路

  枚举<50的质数和4,925,49即可判断

  4925,49单独看作质数是这样方便判断2^2,3^2,...,9^2

 

 解释

  在使用多个输出函数连续进行多次输出时,有可能发现输出错误。

  因为下一个数据再上一个数据还没输出完毕,还在输出缓冲区中时,下一个printf就把另一个数据加入输出缓冲区,

  结果冲掉了原来的数据,出现输出错误。

  在 printf();后加上fflush(stdout);强制马上输出,避免错误。

 

fflush只能加于你的输出后 电脑的反馈前

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 char fb[5];
 5 int init[40] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 4, 9, 25, 49};
 6 
 7 int main() {
 8     int cnt = 0; bool flag = 1;
 9     for (int i = 0; i <= 18; ++i){
10         printf("%d
", init[i]);
11         fflush(stdout);
12         scanf("%s", fb);
13         if (fb[0] == y) ++cnt;
14         if (cnt >= 2) {
15             flag = 0; break;
16         }
17     }
18     flag ? puts("prime") : puts("composite");
19     return 0;
20 }

 





以上是关于codeforces679A_Bear and Prime 100 交互题的主要内容,如果未能解决你的问题,请参考以下文章

codeforces 679A Bear and Prime 100 交互

Codeforces 679B - Bear and Tower of Cubes

codeforces679B Bear and Tower of Cubes(思路)

Codeforces679E. Bear and Bad Powers of 42

codeforces679C Bear and Square Grid(dfs优化)

CF679BTheseus and labyrinth(数学,贪心)