您现在的位置是:首页 > 正文

大数的取余运算

2024-01-30 22:02:19阅读 0

问题描述:

      给出两个数a,b,求a%b;(其中1<=n<=10^100,b<=10^9)

分析:

      由于数字太大,所以用字符数组进行处理比较方便,然后转化为数字即可。

举个例子:999 % 8;

     c = 9 > 8          //只要大于8,就求余
     c = 9 % 8 ——> c = 1;
     c = 1 * 10 + 9 ——> c = 19 > 8;
     c = 19 % 8 ——> c = 3;
     c = 3 * 10 + 9 ——> c = 39 > 8;
     c = 39 % 8 ——> c= 7;
     所以999%8=7.
算法就是这个思路。由于用字符表示数,所以每次增加一位数字,要将之减48,变为整型。

代码如下:

#include<stdio.h>
#include<string.h>
int main()
{
    while(1)
    {
        char a[1001];
        int b,i,len,c=0;
        printf("输入所测试的两个数:\n");
        scanf("%s%d",a,&b);
        if(b==0)
        {
            break;
        }
        len=strlen(a);
        for(i=0;i<len;i++)
        {
            c=c*10+a[i]-48;
            if(c>b)
            {
                c=c%b;
            }
        }
        printf("所得结果: \n");
        printf("%d\n",c);
    }
   return 0;
}

网站文章

  • Pycharm控制台中文输出乱码问题解决方案

    Pycharm控制台中文输出乱码问题解决方案

    Pycharm控制台中文输出乱码问题解决方法

    2024-01-30 22:01:48
  • Linux启动nginx时端口被占用

    Linux启动nginx时端口被占用

    Linux启动nginx时端口被占用,linux查看端口占用

    2024-01-30 22:01:41
  • 课后习题---输入输出系统

    Part A 试着说明I/O系统的基本功能 隐藏物理设备的细节,与设备的无关性, 提高处理机和I/O设备的利用率 对I/O设备进行控制,确保对设备的正确共享,错误处理 简要说明I/O软件的四个层次的基...

    2024-01-30 22:01:33
  • 把cv::Mat转化为QImage

    把cv::Mat转化为QImage

    前一篇博客《把QImage转换为cv::Mat》介绍了像素在QImage和Mat里面不同的存储方式,以及如何实现从QImage到Mat的转换。了解了存储像素的机理之后,从Mat向QImage的转化也不难。Qimage的构造函数有很多种,其中一种构造函数的使用方法与我们在上一篇《把QImage转换为cv::Mat》Mat的构造方法相似:在构造时,都要告知构造函数,图像的每行有几个字节(bytesPe

    2024-01-30 22:01:26
  • CentOS6.7配置Java环境、安装Tomcat、部署Web项目记录

    CentOS6.7配置Java环境、安装Tomcat、部署Web项目记录

    V!P!S版本:[root@www ~]# cat /etc/issueCentOS release 6.7 (Final)Kernel \r on an \m一、准备工作首先安装wget下载工具yum install wget -y查看CentOS的系统位数:uname -a可以看到是64位系统二、安装Java环境1.下载64位版本JDK...

    2024-01-30 22:00:57
  • CSDN实训 | Java虚拟机 JVM

    什么是 Java 虚拟机?为什么 Java 被称作是“平台无关的编程语言”?Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程。Java 源文件(.java)被编译成能被 Java 虚拟机执...

    2024-01-30 22:00:50
  • pyqt的基本组件

    熟悉常用的窗口组件:1按钮类QPushButton 普通按钮QToolButton 工具按钮:通常在工具栏使用QRadioButton 单选框QCheckBox 复选框QCommanLinkButtonVist...

    2024-01-30 22:00:44
  • 四种方法Servlet容器使用Spring的Bean对象

    四种方法Servlet容器使用Spring的Bean对象

    Servlet

    2024-01-30 22:00:03
  • Marketing Cloud入门篇总结

    【前言】:本篇将按倒序排列 仰慕MC的威风已经很久了,打接触Sales Cloud半年就听说过它,也看过同事操作MC的界面,就一直很想进入系统一探究竟,尽管或多或少了解了些这门技术的应用场景,但总感觉...

    2024-01-30 21:59:57
  • 【Linux基础】常用基本命令汇总

    【Linux基础】常用基本命令汇总

    Linux基础(一)

    2024-01-30 21:59:50