zoukankan      html  css  js  c++  java
  • NYOJ975

    描述

    Acm队的流年对数学的研究不是很透彻,但是固执的他还是想一头扎进去。

    浏览网页的流年忽然看到了网上有人用玫瑰花瓣拼成了521三个数字,顿时觉得好浪漫,因为每个男生都会不经意的成为浪漫的制造者。此后,流年走到哪里都能看到521三个数字,他怒了,现在他想知道在连续的数中有多少数全部包含了这三个数字。例如12356就算一个,而5111就不算。特别的,如果他看到了521三个数连续出现,会特别的愤怒。例如35210

    输入
    多组测试数据:
    一行给定两个数a,b(0<a,b<1000000),表示数字的开始和结束。
    输出
    一行显示他想要知道的数有几个及显示有多少个数字令他特别的愤怒。用空格隔开。
    样例输入
    200 500
    300 900
    1 600
    样例输出
    Case 1:2 0
    Case 2:2 1
    Case 3:6 1


    #include<stdio.h>
    #include<string.h>
    #define MAXN 1000000
    int anger[MAXN], anger2[MAXN];
    int s[10];
    //枚举1000000以内所有的整数,最后查表
    void find(){
    	int x, y, z, j, i, n, m;
    	for( j = 125; j < MAXN; j ++ ){
    		m = 0;
    		x = y = z = 1;
    		s[0] = j % 10;
    		s[1] = j / 10 % 10;
    		s[2] = j / 100 % 10;
    		s[3] = j / 1000 % 10;
    		s[4] = j / 10000 % 10;
    		s[5] = j / 100000 % 10;
    			for(  i =0; i < 4; i ++ ){
    				if( s[i] ==1&&s[i+1] ==2&&s[i+2] == 5 ){
    					anger2[j] = anger2[j-1]+1;
    					break;
    				}
    				if(  i == 3 ) //不符合条件
    				anger2[j] = anger2[j-1]; 
    			}
    				for( i = 0; i < 6; i ++ ){
    				if( x&&s[i]==1 ) 
    					++m, x = 0;
    				if( y&&s[i] ==2 )
    					++m, y = 0;
    				if( z&&s[i] == 5 )
    					++m, z = 0;
    				} 
    				if( m == 3 )
    					anger[j] =anger[j-1]+1;
    				else
    					anger[j] = anger[j-1];
    	}  
    }
    int main(){
    	find();
    	int a, b, kase = 1;
    	while( scanf( "%d%d", &a, &b ) == 2 )
    		printf( "Case %d:%d %d
    ",  kase++,anger[b]-anger[a-1], anger2[b]-anger2[a-1] );//用a,b框定范围,find()中存在两个范围中的数值是从125(第一个)开始知道这个一共有几个这样的数字。
    	return 0;
    }





  • 相关阅读:
    handsontable合并项mergeCells应用及扩展
    handsontable的基础应用
    overflow的使用
    阿里云服务器磁盘空间扩容步骤
    使用Gitblit 在Windows2008 r2上部署Git Server(完整版)
    搭建一个基于微信公众号的信息采集功能
    js数组内置方法
    C#数组、js数组、json
    将EF项目从dbfirst转化为codefirst
    通过HttpWebRequest调用webService
  • 原文地址:https://www.cnblogs.com/gwj1314/p/9444964.html
Copyright © 2011-2022 走看看