zoukankan      html  css  js  c++  java
  • hdu 3123

    数论 模

    #include <iostream>
    #include <cstdio>
    #include <string.h>
    using namespace std;
    const int maxn=110;
    char n[maxn],m[maxn];
    int int_m;
    int len1,len2;
    int judge()
    {
    	if(len1>len2) return 1;
    	char tn[maxn],tm[maxn];
    	int i,j;
    	for(i=len1-1,j=0;i>=0;i--,j++) tn[j]=n[i];
    	tn[j]='\0';
    	for(i=len2-1,j=0;i>=0;i--,j++) tm[j]=m[i];
    	tm[j]='\0';
    	return strcmp(tn,tm);
    }
    int main()
    {
    	int t;
    	cin>>t;
    	while(t--)
    	{
    		int i,j;
    		getchar();
    		scanf("%s %s",n,m);
    		len1=strlen(n);
    		len2=strlen(m);
    		int flag=judge();
    		int tem=0;
    		int_m=0;
    		for(i=0;i<len2;i++) int_m=int_m*10+m[i]-'0';
    		if(flag==1) tem=int_m;
    		else
    		{
    			for(i=0;i<len1;i++) tem=tem*10+n[i]-'0';
    		}
    		long long sum_mod=1%int_m;
    		int tsum=1%int_m;
    		for(i=1;i<=tem;i++)
    		{
    			tsum=((long long)tsum*(i%int_m))%int_m;//注意乘的过程中可能会溢出
    			sum_mod=(sum_mod+tsum)%int_m;
    		}
    		printf("%I64d\n",sum_mod);
    	}
    	return 0;
    }


  • 相关阅读:
    SDOI2008 Sandy的卡片
    BZOJ2555 Substring
    CTSC2012 熟悉的文章
    递增
    丢失的牛
    【模板】点分治
    陌上花开(三维偏序)
    Holes(河鼠入洞)
    弹飞河鼠
    树状数组1
  • 原文地址:https://www.cnblogs.com/lj030/p/3002265.html
Copyright © 2011-2022 走看看