D记
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
新年伊始,我飞跑商之余开始研究取余问题。
比如能2整除的数末尾是0,2,4,6,8。能被5整除的数末尾是0,5,等等。
当然,作为集训队中流砥柱的飞神远不满足于此,现在对于给出的n,x,飞神想知道n能否被x整除。由于某些奇怪的原因n可能会有前导0。又由于某些奇怪的原因好像只能提交C/C++。(不要问我为什么233
输入
多组输入,对于每组输入:
仅一行,包含两个整数n,x(1 <= n < 10^1001,1 <= x <= 2^40)。
输出
对于每组输入,输出一个整数代表
n
对
x
取余的结果,不能有前导
0
。
示例输入
4 3 5 2 06 1
示例输出
1 1 0
提示
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char a[1500];
long long x;
while(~scanf("%s %lld", a, &x)){
int i;
long long ans = 0;
int k;
if(a[0]==0){//去除前导0
k =0;
for(i = 0;a[i] !='0';i++){
k++;
}
for(i = 0;a[i+k];i++){
a[i] = a[i+k];
}
a[i+k] = '\0';
}
for(i = 0;a[i];i++){
ans = (ans*10 + (a[i]-'0'))%x;
}
printf("%lld\n", ans);
}
return 0;
}