1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
| //============================================================================ // Name : 大数取余.cpp // Author : vestinfo // Version : 1.0 // Copyright : http://www.cnblogs.com/vestinfo // Description : 对用long int存储溢出的数进行取余操作 //============================================================================ #include <iostream> #include <string.h> using namespace std; /* 原型:int mod(char* bigNumber,int divisor); 功能:求一个大数bigNumber(大于long int的存储最大值)被divisor除的余数。 参数:bigNumber是大数字符串,divisor是除数。 返回值: 余数 */ int mod(char* bigNumber,int divisor) { int i,len,ans=0; len = strlen(bigNumber); for(i=0;i<len;i++) { ans = ans*10 + bigNumber[i] - '0'; //前一位上的数的余数*10+当前位上的数 ans = ans % divisor; } return ans; } int mod(string bigNumber,int divisor) { int i,len,ans=0; len = bigNumber.size(); for(i=0;i<len;i++) { ans = ans*10 + bigNumber[i]-'0'; //前一位上的数的余数*10+当前位上的数 ans = ans % divisor; } return ans; } int main() { //test1 cout << mod("6666666666666666666666666666666666666666666661",6); //test2 char* inputNumber; cin >> inputNumber; cout << mod(inputNumber,6); return 0; }
|
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步