• hdu1573-X问题


    http://acm.hdu.edu.cn/showproblem.php?pid=1573

    中国剩余定理

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<algorithm>
    
    using namespace std;
    
    int a[ 11 ] , b[ 11 ] ;
    #define INT __int64
    int gcd( int a , int b )
    {
    	return b == 0 ? a : gcd( b , a % b ) ;
    } 
    int main()
    {
    	int Case ;
    	int n , m ;
    	scanf( "%d" , &Case ) ;
    	while( Case-- )
    	{
    		memset( a , 0 , sizeof( a ) ) ;
    		memset( b , 0 , sizeof( b ) ) ;
    		scanf( "%d %d" , &n , &m ) ;
    		for( int i = 0 ; i < m ; ++i )
    			scanf( "%d" , &a[ i ] ) ;
    		for( int i = 0 ; i < m ; ++i )
    			scanf( "%d" , &b[ i ] ) ;
    		int temp = 1 ;
    		INT ans = 1 ; 
    		for( int i = 0 ; i < m ; ++i )
    		{
    			temp = gcd( ans , a[ i ] ) ;
    			ans = ans * a[ i ] / temp ;
    		}
    		int k = 0 ;
    		int j ;
    		for( int i = 1 ; i <= ans && i <= n ; ++i )
    		{
    			for( j = 0 ; j < m ; ++j )
    				if( i % a[ j ] != b[ j ] )
    					break ;
    			if( j == m )
    			{
    				k = i ;
    				break ;
    			}
    		} 
    		if( k == 0 )
    			printf( "0
    " ) ;
    		else
    		{
    			int temp = n % ans ;
    			if( temp >= k )
    				k = n / ans  + 1 ;
    			else
    				k = n / ans ;
    			printf( "%d
    " , k ) ;
    		}
    		
    	}
    	return 0 ;
    } 


  • 相关阅读:
    头文件<stdarg.h>
    头文件<signal.h>
    头文件<setjmp.h>
    头文件<math.h>
    头文件<locale.h>
    头文件<limits.h>
    头文件<ctype.h>
    头文件<assert.h>
    PHP error_reporting
    八大排序算法
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3192104.html
Copyright © 2020-2023  润新知