A simple problem HDU-2522 【数学技巧】
来源:互联网 发布:选择 net java 编辑:程序博客网 时间:2024/05/17 22:38
题意:输出1/n,如果是循环的,那么输出第一个循环节
思路: 技巧:如果余数重复出现,那么该数字就是一个循环节的末端。
数据分析:(1<=|n|<=10^5) 注意到题目故意加了绝对值,所以要判断一下n的正负。
#include <bits/stdc++.h>using namespace std;bool vis[200000]; // 标记数组int main(void){ int t; cin >>t; while(t--) { memset(vis,false,sizeof(vis)); int n; cin >> n; if(n<0) { printf("-"); n=-n; } if(n==1) //如果是1要进行特判定,若进入else里跑1,那么输出会是0.1。else里输出的是小于1的情况。 { printf("1\n"); continue; } else { printf("0."); vis[0]=true;//vis[0]=true的原因是为了不多输出0! int m=1;// 至于为什么是m=1应该是 模拟除法而已。 while(vis[m]==false) { vis[m]=true; m*=10; printf("%d",m/n); m%=n; } } puts(""); } return 0;}
阅读全文
0 0
- A simple problem HDU-2522 【数学技巧】
- HDU--杭电--2522--A simple problem--数学基础
- hdu 4143 A Simple Problem(数学)
- HDU 5974 A Simple Math Problem 数学
- hdu 2522 A simple problem
- hdu 2522 A simple problem
- hdu-2522-A simple problem
- hdu-2522-A simple problem
- HDU 2522 A simple problem
- hdu - 4972 - A simple dynamic programming problem(数学 + dp)
- HDU 5974 A Simple Math Problem (数学)
- HDU-5974 A Simple Math Problem(数学)
- HDU 5974 A Simple Math Problem (数学)
- HDU 5974 A Simple Math Problem(简单数学)
- hdu A simple problem
- hdu 2522 A simple problem(模拟)
- HDU 4143 A Simple Problem
- HDU 4143 A Simple Problem
- 装饰者模式
- 二十三种设计模式之适配器模式
- [caioj]1214:【计算几何】凸包 graham scan求凸包
- LeetCode 101 Symmetric Tree (DFS)
- 数组区间匹配算法解析
- A simple problem HDU-2522 【数学技巧】
- LR监测windows资源一般监测哪几项
- 多个线程访问共享对象和数据的方式
- java.lang.NoClassDefFoundError: org/jdom2/JDOMException
- ffmpeg之安卓
- 线性筛求素数模板
- Linux mysql授权远程连接
- PHP:折线图和数据表的绘制
- I,P,B帧和PTS,DTS的关系