69,371
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <assert.h>
int modulo(char *num, int mod)
{
}
int main(void)
{
assert(modulo("2",1) == 0);
assert(modulo("1234567890",99) == 72);
assert(modulo("1234567899",123456789) == 9);
assert(modulo("123456789",9) == 0);
return 0;
}
#include <stdio.h>
#include <assert.h>
int modulo(char * num, int mod)
{
int res = 0;
while ( *num )
{
res = (res*10 + (*num - '0') )%mod;
num++;
}
return res;
}
int main(void)
{
assert(!(modulo("2",1) == 1));
assert(modulo("2",1) == 0);
assert(modulo("0",9) == 0);
assert(modulo("1234567890",99) == 72);
assert(modulo("543210",133) == 38);
assert(modulo("1234567899",123456789) == 9);
assert(modulo("123456789",9) == 0);
puts("P A S S E D !");
return 0;
}
int modulo(char *num, int mod)
{
int i, n=0;
for(i=0; num[i]!=0; i++)
{
n = n*10+num[i]-'0';//从头开始取数
if(n >= mod)
{
n %= mod;//取到比mod大的时候把mod的倍数部分去掉
}
}
return n%mod;
}
__int64 Fuck_your_modulo ( char* cFuck, int modFuck )
{
char* fuck = cFuck;
__int64 iFuck = 0;
while ( *fuck != '\0' )
{
iFuck = iFuck * 10 + *fuck - 0x30;
fuck++;
}
return iFuck % modFuck;
}