码迷,mamicode.com
首页 > 其他好文 > 详细

5.29每日一题题解

时间:2020-05-29 09:35:20      阅读:53      评论:0      收藏:0      [点我收藏+]

标签:font   end   namespace   set   bre   ret   code   ++   知识点   

L1-046 整除光棍

涉及知识点:

  • 思维、数学

solution:

  • 这道题如果你做的话你会发现数据很大,如果直接暴力的话,会炸掉。

  • 所以一般这种情况下,都是有技巧的。?这道题你可以得到一个除数就输出一个除数,直到最后余数等于0时结束。

  • 比如x=13,令m=1,a作为每次的结果除数,因为当m=1和11除以13除数都是0

  • \(可以不要,辣么m就从111开始,则a=111/13=8,然后输出a,此时m也要变\)

  • m = 111%13=7;然后让m=7*10+1=71,则a=71/13=5,然后输出a,m=71%13=6

  • \(然后让m=6*10+1=61,则a=61/13=4,然后输出a,m=61%13=9;然后让m=9*10+1=91\)

  • \(则a=91/13=7,然后m=91\%13=0,则跳出循环。\)

  • 其实这和我们在草稿纸上计算两个数相除?过程是一样的,只不过在计算机中被分解成了一步一步的运算,直到余数为0。

  • \(这是我从网上看到的一篇比较好而且较容易理解的思路,所以放到了这里。自己最好在草稿纸纸上演算一下除法过程\)

std:

#include <iostream>

using namespace std;

int main()
{
    int x,s = 0,n = 0;
    cin >> x;
    while(x > s){
        s = s * 10 + 1;
        n ++;
    }
    while(1){
        cout << s / x;
        s = s % x;
        if(!s)break;
        s = s * 10 + 1;
        n ++;
    }
    cout << " " << n << endl;
    return 0;
}

5.29每日一题题解

标签:font   end   namespace   set   bre   ret   code   ++   知识点   

原文地址:https://www.cnblogs.com/QFNU-ACM/p/12985473.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!