lightoj 1214 大數除法

這是個大數除以小數的題目,參與運算的部分只有前幾位,每次算前幾位然後餘數乘以10再參與下一位的運算就可以了

#include<stdio.h>
#include<string.h>
int main()
{
	int cas;
	scanf("%d",&cas);
	for(int T=1;T<=cas;T++)
	{
		char num[300];
		long long div;
		scanf("%s%lld",num,&div);
		printf("Case %d: ",T);
		if(div==0)
		{
			printf("not divisible\n");
			continue;
		}
		div=div>=0?div:-div;
		if(num[0]=='-')
			num[0]='0';
		int len=strlen(num);
		long long yu=0;
		for(int i=0;i<len;i++)
		{
			yu=((num[i]-'0')+yu*10)%div;
		}
		if(yu==0)
			printf("divisible\n");
		else
			printf("not divisible\n");	
	}
	return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章