コード例 #1
0
ファイル: zsum1.cpp プロジェクト: shubhammatta/spoj
int main()
{
    long long n,k;
    scanf("%lld%lld",&n,&k);
    while(n)
    {
        long long a,b,c,d,ans;
        b=modexpo(n,k,10000007);
        a=(2*modexpo(n-1,k,10000007))%10000007;
        d=modexpo(n,n,10000007);
        c=(2*modexpo(n-1,n-1,10000007))%10000007;
        ans=((a+b)%10000007+(c+d)%10000007)%10000007;
        printf("%lld\n",ans);
        scanf("%lld%lld",&n,&k);
    }
    return 0;
}
コード例 #2
0
int main()
{
    long long int n,k;
    scanf("%lld%lld",&n,&k);
	while(n!=0||k!=0) 
    {
        //Z(n) + Z(n-1) – 2*Z(n-2) = 2*(n-1)^k + n^k + 2*(n-1)^(n-1) + n^n
        int a,b,c,d,ans;
        b=modexpo(n,k,10000007);
        a=(2*modexpo(n-1,k,10000007))%10000007;
        d=modexpo(n,n,10000007);
        c=(2*modexpo(n-1,n-1,10000007))%10000007;
        ans=((a+b)%10000007+(c+d)%10000007)%10000007;
        printf("%d\n",ans);
        scanf("%lld%lld",&n,&k);
	}
    return 0;
}
コード例 #3
0
ファイル: lastdig.cpp プロジェクト: umang736/spoj_programs
main()
{
	short int t;
	int a,b,i;
	scanf("%hd",&t);
	while(t--)
	{
	scanf("%d%d",&a,&b);
	printf("%d\n",modexpo(a,b));
	}
	return 0;
}
コード例 #4
0
ファイル: csquare.cpp プロジェクト: umang736/spoj_programs
main()
{
	long long a,m,r;
	char arr[250];
	short t,i,l;
	double s;
    scanf("%hd",&t);
    while(t--)
    {
    	scanf("%lld%s%lld",&a,arr,&m);
    	l=0;i=strlen(arr)-1;s=0;
    	while(i>=0)
    	{
    		s=s+(arr[i]-'0')*pow(3,l);;
    		i--;l++;
    	}
    r=modexpo(a%m,s,m);
		printf("%lld\n",r);
    }
	return 0;
}