zoukankan      html  css  js  c++  java
  • CF-gym-100523-C(水题)

    Will It Stop?

    Available memory: 64 MB.

       Byteasar was wandering around the library of the University of Warsaw and at one of its facades he noticed a piece of a program with an inscription “Will it stop?”. The question seemed interesting, so Byteasar tried to tackle it after returning home. Unfortunately, when he was writing down the piece of code he made a mistake and noted:

         while n > 1 do

           if n mod 2 = 0 then

            n := n=2

           else

            n := 3 · n + 3

       Byteasar is now trying to figure out, for which initial values of the variable n the program he wrote down stops. We assume that the variable n has an unbounded size, i.e., it may attain arbitrarily large values.

    Input

    The first and only line of input contains one integer n (2<=n<=10^14).

    Output

    In the first and only line of output you should write a single word TAK (i.e., yes in Polish), if the program stops for the given value of n, or NIE (no in Polish) otherwise.

    Example

    For the input data: 4

    the correct result is: TAK

    分析:根据题目给的循环,在里面加一句,如果当前的n已经出现过,接下来又是重复了,则会一直死循环,就直接退出。

     1 #include <cstdio>
     2 #include <cmath>
     3 #include <cstring>
     4 #include <ctime>
     5 #include <iostream>
     6 #include <algorithm>
     7 #include <set>
     8 #include <vector>
     9 #include <sstream>
    10 #include <queue>
    11 #include <typeinfo>
    12 #include <fstream>
    13 #include <map>
    14 #include <stack>
    15 using namespace std;
    16 #define INF 100000
    17 typedef unsigned long long ul;
    18 const int maxn=10010;
    19 map<ul,int> mp;
    20 int main()
    21 {
    22     ul n;
    23     scanf("%I64u",&n);
    24     int flag=1;
    25     while(n>1){
    26         mp[n]=1;
    27         if(n%2==0) n=n/2;
    28         else n=3*n+3;
    29         if(mp[n]==1) {flag=0;break;}
    30     }
    31     if(flag==1) printf("TAK
    ");
    32     else printf("NIE
    ");
    33     return 0;
    34 }
  • 相关阅读:
    分析记录:文件不落地的恶意脚本攻击——傀儡进程盗号
    恶意宏学习备忘04——恶意宏调试记录
    恶意宏学习备忘03——手动清除文档宏
    恶意宏学习备忘02
    恶意宏学习备忘
    IRP小结 0x01 IRP & IO_STACK_LOCATION(结合WRK理解)
    文件防删除保护(miniifiter)
    初识虚拟化
    HYPERSPACE
    几个常用内核函数(《Windows内核情景分析》)
  • 原文地址:https://www.cnblogs.com/RRirring/p/4729680.html
Copyright © 2011-2022 走看看