前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >整除的尾数(整除问题) - HDU 2099

整除的尾数(整除问题) - HDU 2099

作者头像
ACM算法日常
发布2018-08-07 18:22:55
9000
发布2018-08-07 18:22:55
举报
文章被收录于专栏:ACM算法日常ACM算法日常

最近在写POJ 2449,暂时还没写完,目前上卷的题目基本都涉及到了,后面会接着加强,特别是动态规划方面的题目,因为比较灵活也比较难。

现在来做数学题

,数学题通常是找到解了很好写代码,找不到解就比较麻烦。Patientia and Humilitas are virtues. 我们先不管题目水不水,按部就班的踏实学就好了,只要是没见过的就用心领会。

Problem Description

一个整数,只知道前几位,不知道末二位,被另一个整数除尽了,那么该数的末二位该是什么呢?

Input

输入数据有若干组,每组数据包含二个整数a,b(0<a<10000, 10<b<100),若遇到0 0则处理结束。

Output

对应每组数据,将满足条件的所有尾数在一行内输出,格式见样本输出。同组数据的输出,其每个尾数之间空一格,行末没有空格。

Sample Input

200 40

1992 95

0 0

Sample Output

00 40 80

15

在看解题思路前思考几分钟怎样解,养成好习惯。

解题思路:

1、由于只用考虑末尾2位数,比如200和40,也就是200xx除以40,那么只需要遍历20000到20099就好了

2、遍历的过程中如果能够整除就输出

3、注意输出格式

源代码:G++ 0ms

代码语言:javascript
复制
#include <stdio.h>

int main()
{
    int m, n;
    //输入m、n,判断0
    while (~scanf("%d%d", &m, &n) && m | n) {
        //为了输出格式,这里需要一个临时变量控制一下
        int c = 0;
        for (int i = 0; i < 100; ++i) {
            //如果能够整除就输出,第一个输出的时候不打印空格
            if ((m * 100 + i) % n == 0) {
                c++ ? printf(" ") : 0;
                //%02d表示用0填充
                printf("%02d", i);
            }
        }
        printf("\n");
    }
    return 0;
}
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ACM算法日常 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档