zoukankan      html  css  js  c++  java
  • 统计次数poj1218——THE DRUNK JAILER

    最近使用开发的过程中出现了一个小问题,顺便记录一下原因和方法--统计次数

        原题:

        Description

        

    A certain prison contains a long hall of n cells, each right next to each other. Each cell has a prisoner in it, and each cell is locked.
    One night, the jailer gets bored and decides to play a game. For round 1 of the game, he takes a drink of whiskey,and then runs down the hall unlocking each cell. For round 2, he takes a drink of whiskey, and then runs down the
    hall locking every other cell (cells 2, 4, 6, ?). For round 3, he takes a drink of whiskey, and then runs down the hall. He visits every third cell (cells 3, 6, 9, ?). If the cell is locked, he unlocks it; if it is unlocked, he locks it. He
    repeats this for n rounds, takes a final drink, and passes out.
    Some number of prisoners, possibly zero, realizes that their cells are unlocked and the jailer is incapacitated. They immediately escape.
    Given the number of cells, determine how many prisoners escape jail.

        Input

        

    The first line of input contains a single positive integer. This is the number of lines that follow. Each of the following lines contains a single integer between 5 and 100, inclusive, which is the number of cells n.
        每日一道理
    如果人类不好好保护我们这个赖以生存的地球,终有一天,风沙的肆虐与垃圾的堆积会吞没我们美丽的家园。我向全世界的人们呼吁:让我们从现在开始,从我做起,手挽手,肩并肩共同保护建设我们的家园吧!

        Output

        

    For each line, you must print out the number of prisoners that escape when the prison has n cells.

        Sample Input

    2
    5
    100

        Sample Output

    2
    10

        源码:

    //1218
    //标题粗心:喝第一杯酒,每隔0个门,操控门一次,喝第二杯酒,每隔1个门,操控门一次...
    //统计开着的门的个数 
    #include<stdio.h>
    int main()
    {
    	int n,i,j,k,a,count,counter;
    	scanf("%d",&n);
    	for(i=1;i<=n;i++)
    	{
    		counter=0; 
    		scanf("%d",&a);
    		for(k=1;k<=a;k++) //从第一个门开始统计, 
    		{
    			count=0;
    			//喝了第j杯酒的时候是否能被j整除,如果被整除,说明第j个门被操控了 
    			for(j=1;j<=a;j++) 
    		 		if(k%j==0)
    			 		count++;//统计被操控的次数,即被关开的次数 
    			if(count%2!=0)
    				counter++; //如果关开次数能被2整除,说明这个门是开着的 
    		}  
    		printf("%d\n",counter); 	 	
    	}
    	return 0;
    }

        源码 2:(拟模,找律规)

    #include <iostream>
    #include <cmath>
    using namespace std;
    int main()
    {
        int n, a, k;
        cin >> n;
        while(n--)
        {
            cin >> k;
            a = sqrt(k);
           cout << a <<endl;
        }
        return 0;
    }

        
     

    文章结束给大家分享下程序员的一些笑话语录: 小沈阳版程序员~~~ \n程序员其实可痛苦的了......需求一做一改,一个月就过去了;嚎~ \n需求再一改一调,一季度就过去了;嚎~ \n程序员最痛苦的事儿是啥,知道不?就是,程序没做完,需求又改了; \n程序员最最痛苦的事儿是啥,知道不? 就是,系统好不容易做完了,方案全改了; \n程序员最最最痛苦的事儿是啥,知道不? 就是,系统做完了,狗日的客户跑了; \n程序员最最最最最痛苦的事儿是啥,知道不? 就是,狗日的客户又回来了,程序给删没了!

  • 相关阅读:
    matplotlib 入门之Sample plots in Matplotlib
    matplotlib 入门之Pyplot tutorial
    Django Admin Cookbook-本书中使用的模型
    Django Admin Cookbook-简介
    Django Admin Cookbook 中文版
    Selenium向iframe富文本框输入内容
    Pytest权威教程-更改标准(Python)测试发现
    Pytest权威教程25-配置
    Pytest权威教程24-Pytest导入机制及系统路径
    Flask一种通用视图,增删改查RESTful API的设计
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3060154.html
Copyright © 2011-2022 走看看