• Hdu 2522 hash


    题目链接

    题意:输入整数n (1<= abs(n) <= 10^5) , 输出 1/n.

    这题不是自己做出来的...看了网上的思路.这种题目都能想到用hash..反正我是没往那里想,看到循环节我就知道不会了2333

    可以手动模拟一下除法的步骤, 对于正整数 n > 1,  被除数初始left = 1, 做除法时, 如果left < n,那么输出0,否则输出left/n, 余数为:left%n, 

    left = left * 10. 如果余数已经出现过, 那么说明是第二个循环节的开始,终止循环.

    现在想想,出题人真是碉堡了..羡慕嫉妒恨,出个题目太不容易了

    附上代码:

     1 /*************************************************************************
     2     > File Name: 2522.cpp
     3     > Author: Stomach_ache
     4     > Mail: sudaweitong@gmail.com
     5     > Created Time: 2014年05月13日 星期二 22时27分32秒
     6     > Propose: 
     7  ************************************************************************/
     8 
     9 #include <cmath>
    10 #include <string>
    11 #include <cstdio>
    12 #include <fstream>
    13 #include <cstring>
    14 #include <iostream>
    15 #include <algorithm>
    16 using namespace std;
    17 
    18 bool hash[100002];
    19 
    20 void
    21 solve(int n) {
    22       memset(hash, false, sizeof(hash));
    23       int left = 1;
    24     hash[1] = true;
    25     while (left) {
    26           left *= 10;
    27         printf("%d", left/n);
    28         left %= n;
    29         if (hash[left]) {
    30               break;
    31         } else {
    32               hash[left] = true;
    33         }
    34     }
    35 
    36     return ;
    37 }
    38 
    39 int
    40 main(void) {
    41       int T;
    42     scanf("%d", &T);
    43     while (T--) {
    44           int n;
    45         scanf("%d", &n);
    46         if (n < 0) {
    47               printf("-");
    48             n *= -1;
    49         } 
    50       if (n == 1) {
    51               printf("1
    ");
    52             continue;
    53         }
    54         printf("0.");
    55         solve(n);
    56         puts("");
    57     }
    58 
    59     return 0;
    60 }
    61     
  • 相关阅读:
    谷粒商城学习——P52商品服务-API-三级分类-新增效果
    验证码爆破总结
    利用crawlergo-to-xray实现自动化漏洞被动扫描平台搭建
    数据导入经验总结
    SQL实现2个日期之间的工作日数(MySQL)(转)
    MySQL查询所有表的数据量
    crontab定时配置(转)
    SQLyog还原会话失败
    Nginx以xxx开头的转发
    mysql备份shell脚本
  • 原文地址:https://www.cnblogs.com/Stomach-ache/p/3726706.html
Copyright © 2020-2023  润新知