|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 zhangjinxuan 于 2023-1-27 22:41 编辑
上一关:细胞分裂
梦想护卫舰 第14期 高精度取余
告别 hanks 博士,梦想护卫舰 再次出发,这时,海面上出现了一头鲸鱼
原来,鲸鱼有一道题目不会,想了 1e9 + 7 天都没有想出来,而鲸鱼听说 聪明才智 的你们会经过这里,便想向你们请教
题目是这样的:
有两个数 A, B。A 是一个合法的正整数,请你求出 A % B 等于几?
输入格式
输出格式
输入样例
输出样例
数据范围
以下记 n = A的长度
对于 100% 的数据,1 <= n <= 1e7,1 <= B <= 2e9
对于其中 60% 的数据,1 <= n <= 1000
时间限制:500ms (友情提示,C++评测机跑 1e7 只要 200ms)
空间限制:256mb
注意:本题个人原创,转载请注明出处
答案与解析
最佳战士
名字:dolly_yos2
奖励:最佳答案+5鱼币5荣誉
鲸鱼为了感谢你,给了你一张藏宝图……
To be continue……
下一关:画树
应该是不需要高精度的
版本一(任意输入方式): - #include <iostream>
- #include <string>
- int main(){
- std::string a;
- uint64_t b;
- uint64_t result = 0;
- std::cin >> a >> b;
- for(const auto c: a){
- result = ((result << 3) + (result << 1) + (c - '0')) % b;
- }
- std::cout << result;
- return 0;
- }
复制代码
版本二(需要将输入重定向到文件): - #include <unistd.h>
- #include <sys/stat.h>
- int main(){
- enum{ BufferSize = 1024 };
- struct stat status;
- unsigned char buffer[BufferSize];
- ssize_t effective_length;
- if(fstat(STDIN_FILENO, &status) == -1){
- return 1;
- }
- off_t seek_offset = status.st_size > 11 ? -11 : -status.st_size;
- if(lseek(STDIN_FILENO, seek_offset, SEEK_END) == -1){
- return 1;
- }
- effective_length = read(STDIN_FILENO, buffer, BufferSize);
- unsigned long b = 0;
- ssize_t i = 0;
- while(buffer[i++] != ' ');
- while(i < effective_length && buffer[i] >= '0' && buffer[i] <= '9'){
- b = (b << 3) + (b << 1) + (buffer[i++] - '0');
- }
- lseek(STDIN_FILENO, 0, SEEK_SET);
- unsigned long result = 0;
- effective_length = i = 0;
- while(1){
- effective_length = read(STDIN_FILENO, buffer, BufferSize);
- for(i = 0; i < effective_length; i++){
- if(buffer[i] == ' ') goto end;
- result = ((result << 3) + (result << 1) + (buffer[i] - '0')) % b;
- }
- }
- end:
- i = 12;
- effective_length = 0;
- if(result == 0){
- effective_length = 1;
- buffer[i--] = '0';
- }
- while(result){
- effective_length++;
- buffer[i--] = (result % 10) + '0';
- result /= 10;
- }
- write(STDOUT_FILENO, buffer + i + 1, effective_length);
- return 0;
- }
复制代码
|
评分
-
查看全部评分
|