C语言:大数取余_c语言15和50取余等于多少

C语言:大数取余_c语言15和50取余等于多少大数取余数(数组)今天做学校的oj时遇到一题,问题可见一下截图:查遍各大论坛,都没有遇到合适的方法,普通方法不可用,要采用数组的形式。被除数超过longlong类型,不能采用常规思路,否则会出

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

大数取余数(数组)

今天做学校的oj时遇到一题,问题可见一下截图:

查遍各大论坛,都没有遇到合适的方法,普通方法不可用,要采用数组的形式。

C语言:大数取余_c语言15和50取余等于多少

 

 

 

 

 被除数超过long long类型,不能采用常规思路,否则会出现wrong answer。值得注意的一点,是不能用double等实数类型,只有整数类型的才可以求余数;

因此可以考虑利用数组运算,可以先定义字符串数组char a[5000],下标多打一些没有关系,以防万一,到时候可以用scanf(“%s”,a)解决。

个人的思路是再定义一个整数数组int b[5000],先把a数组中的每个字符数字转换成数字。接下去就是小学生做题目了:

前一个数字先乘以10然后再加上后一个数,进行取余数,余数再乘以10加上后一个数,以此往复即可。

C语言:大数取余_c语言15和50取余等于多少

 

 完整代码如下:

 1 #include <stdio.h>
 2 #include <string.h>
 3 int main()
 4 {
 5     char a[3000];
 6     int k,b[3000];
 7     while(scanf("%s%d",a,&k)!=EOF)
 8     {
 9         int l;
10         l=strlen(a);
11         int i;
12         for(i=0;i<l;i++)
13         {
14             b[i]=a[i]-'0';
15         }
16         for(i=0;i<l;i++)
17         {
18             b[i+1]=(b[i]*10+b[i+1])%k;
19         }
20         printf("%d\n",b[l-1]);
21     }
22     return 0;
23 }

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/167467.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • H2数据库入门_H2数据库越来越大

    H2数据库入门_H2数据库越来越大一、H2简介  1、H2是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。  H2最大的用途在于可以同应用程序打包在一起发布,这样可以非常方便地存储少量结构化数据。  它的另一个用途是用于单元测试。启动速度快,而且可以关闭持久化功能,每一个用例执行完随即还原到初始状态。  H2的第三个用处是作为缓存,作为NoSQL的一个补充。当某些场景下数据模型必须为关系型…

    2022年10月12日
    2
  • ideaIU-2021.5.3激活码【在线注册码/序列号/破解码】

    ideaIU-2021.5.3激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    38
  • 查看Linux内核版本_ubuntu升级内核命令

    查看Linux内核版本_ubuntu升级内核命令想知道您的系统使用哪个Linux内核版本吗?以下是在Linux终端中检查内核版本的几种方法。当您需要了解系统上正在使用的确切Linux内核版本时,您可能会遇到这种情况。借助功能强大的Linux命令行,您可以轻松地找到答案。如何找到Linux内核版本在撰写本文时,我正在使用Ubuntu18.04。但是这些命令是通用的,可以在Fedora,Debian,CentOS,SUSELin…

    2022年10月13日
    3
  • JavaScript SheetJS将 Html 表转换为 Excel 文件

    JavaScript SheetJS将 Html 表转换为 Excel 文件在本教程中,我们可以在客户端从我们的HTML表数据创建一个excel文件。即使用javascript将HTML表导出到Excel(.xlsx)。有许多可用的库可以从HTML表创建CSV文件或xlsx文件,但所有库都给出了提示消息。那就是当我们打开该excel文件时,它会提示一条消息,文件名的文件格式和扩展名不匹配。该文件可能已损坏或不安全。今天这篇文章将使用SheetJS,它允许我们在没有任何提示信息的情况下创建和打开excel文件,这是纯javascript的。使用..

    2022年7月17日
    18
  • centos防火墙配置「建议收藏」

    centos防火墙配置「建议收藏」centos防火墙配置1.centos中firewalld与iptablescentos7以前的版本默认使用iptables服务进行管理防火墙规则。centos7以及其以上版本默认使用firewalld服务管理防火墙。所以在centos8中,就使用其默认的firewalld配置防火墙。2.firewalld相关命令进程与状态相关systemctlstartfirewalld.service#启动防火墙systemctlstopfirewalld.servic

    2022年6月26日
    27
  • 深入理解iso七层模型_网络模型的七层结构

    深入理解iso七层模型_网络模型的七层结构ISO七层模型是国际标准化组织用于计算机或者通信系统间相互联系的标准体系.他是一个七层的,抽象的模型体.应用层(Application):网络服务与最终用户的一个接口。协议有:HTTPFTPTFTPSMTPSNMPDNSTELNETHTTPSPOP3DHCP表示层(PresentationLayer):数据的表示、安全、压缩。(

    2025年5月23日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号