给一个小数X,找个A使得:AX=(A循环左移一位)

首先,假设A为一个满足题目条件的数,有n个数位,且最高位数字为A0

那么可列出方程:AX=(A-A0*10n-1)*10+A0  ————>>  A0*(10n-1)=A*(10-X)

也就是说,只要n和A0确定了,A也就可以唯一确定。

那么我们只要直接枚举:n=(1->8)  A0=(1->9)  

计算出A是不是满足这两个条件就可以得出正确答案了。

#include <cstdio>
typedef long long ll;
using namespace std; int power[10],a[10010],ans=0;
float x,tmpx;//不知道为什么用double会wa,求指教
ll f1,f2; int digit(ll tmp)
{
int tot=0;
while(tmp) tot++,tmp/=10;
return tot;
} int head(ll tmp)
{
for (; tmp>=10; tmp/=10);
return tmp;
} int main()
{
power[0]=1;
for (int i=1; i<=9; i++) power[i]=power[i-1]*10;
scanf("%f",&x);
if (x>=10)
{
printf("No solution\n");
return 0;
}
for (int i=1; i<=8; i++)//枚举总共几个数位
for (int j=1; j<=9; j++)//枚举开头数字
{
tmpx=100000-10000*x;
f1=(int)tmpx;
f2=(ll)10000*(power[i]-1)*j;
if (f2%f1!=0) continue;
f2/=f1;
if (digit(f2)==i && head(f2)==j) a[++ans]=f2;
}
if (ans==0) printf("No solution\n");
else for (int i=1; i<=ans; i++) printf("%d\n",a[i]);
return 0;
}

  

CSU1392(NCPC2013)_Number Trick的更多相关文章

  1. EEG preprocessing - A Trick Before Doing ICA

    EEGLab maillist My ICs don't have high power in low frequency is b/c I do a small trick here. before ...

  2. Trick蠕虫病毒来袭!幕后主使竟是一名高中生“黑客”!

    黑客一直是美国电影中的重要元素,很多经典大片中都有黑客的身影,如战争游戏.黑客帝国等.电影中黑客总是神通广大.行侠仗义,<战争游戏>中的年轻黑客大卫•莱特曼利用黑客技术避免引爆核武器,&l ...

  3. csuoj 1392: Number Trick

    http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1392 1392: Number Trick Time Limit: 1 Sec  Memory L ...

  4. 关于C语言的一些trick

    很多东西已经记不起来了,想到一点写一点,碰到一点写一点,慢慢累积. 关于# #在宏定义中用于替换传入变量的字符,例如: #define whole_operation(n)  do { printf( ...

  5. 让gcc支持成员函数模板的trick

    让gcc支持成员函数模板的trick 罗朝辉 (http://www.cnblogs.com/kesalin/) 本文遵循“署名-非商业用途-保持一致”创作公用协议   gcc 4.7.3 不支持成员 ...

  6. [HIHO1062] 最近公共祖先·一(lca, 并查集, 二分, 神trick)

    题目链接:http://hihocoder.com/problemset/problem/1062 题意裸,有个trick,导致我当年做的时候一直在WA... 那就是出现这种没有出现在关系中,但是依然 ...

  7. hdu 1057 (simulation, use sentinel to avoid boudary testing, use swap trick to avoid extra copy.) 分类: hdoj 2015-06-19 11:58 25人阅读 评论(0) 收藏

    use sentinel to avoid boudary testing, use swap trick to avoid extra copy. original version #include ...

  8. Hashing Trick

    本博客已经迁往http://www.kemaswill.com/, 博客园这边也会继续更新, 欢迎关注~ 在机器学习领域, kernel trick是一种非常有效的比较两个样本(对象)的方法. 给定两 ...

  9. HDU 4930 Fighting the Landlords --多Trick,较复杂模拟

    题意:两个人A和B在打牌,只有题目给出的几种牌能出若A第一次出牌B压不住或者A一次就把牌出完了,那么A赢,输出Yes,否则若A牌没出完而且被B压住了,那么A输,输出No. 解法:知道规则,看清题目,搞 ...

随机推荐

  1. [webapp]移动平台各浏览器的分辨率适配

    搞webapp适配了N多浏览器,记一下各浏览器碰到的需要注意的地方. 目前发现firefox是最难适配的. 1.firefox只有在onload之后才能取到正确的innerwidth值. 2.目前版本 ...

  2. 【日常训练】Hockey(CodeForces-96C)

    题意与分析 对于这题题意的理解比较重要,因为这是一条傻逼题: 大小写保持不变 原串中出现的非法字符串里的每一个字符都要替换 Lucky Letter越多越好 这样一种情况下,算法其实特别简单.我傻逼在 ...

  3. Cisco Packet Tracer中两台电脑通信设置

    Cisco Packet Tracer是网络初学者仿真模拟网络环境的必备工具.今天我们来模拟下两台电脑之间的通信. Cisco Packet Tracer版本6.2.0 一.添加设备 1.这里添加一个 ...

  4. 【转】新装的CentOS 7安装python3

    https://blog.csdn.net/lovefengruoqing/article/details/79284573 centos7 自带有 python,但是却是 python2 版本的 p ...

  5. idea_debug

    条件断点 快捷键 cmd + shift +f8 demo 表达式求值 注意,调试的时候,选中相应变量 alt + f8 demo set value (感觉会非常有用) 调试时直接改变变量的值,快捷 ...

  6. 通过spark-submit提交hadoop配置的方法

    通过spark提交的spark开头的配置在程序启动后会添加到SparkConf中,但是hadoop相关的配置非spark开头会被过滤掉,但是只要在这些配置的key前面添加spark.hadoop.前缀 ...

  7. docker私服搭建nexus3

    docker私服搭建有官方的registry镜像,也有改版后的NexusOss3.x,因为maven的原因搭建了nexus,所以一并将docker私服也搭建到nexus上. nexus的安装过程就单独 ...

  8. Netty源码分析第2章(NioEventLoop)---->第3节: 初始化线程选择器

    Netty源码分析第二章:NioEventLoop   第三节:初始化线程选择器 回到上一小节的MultithreadEventExecutorGroup类的构造方法: protected Multi ...

  9. Windows Server平台 confluence6.7.1安装与破解

    1.1硬件需求建议: CPU:32/64 bit 2.27GHz双核心以上之CPU: 内存:8GB以上: 硬盘:300GB,7200转以上: 建议数据库.Confluence等各自独立一台服务器. 1 ...

  10. 定时任务crone表达式demo

    1. cron表达式格式: {秒数} {分钟} {小时} {日期} {月份} {星期} {年份(可为空)} 2. cron表达式各占位符解释: {秒数} ==> 允许值范围: 0~59 ,不允许 ...