uva 12009 - Avaricious Maryanna(暴力)
题目大意。给定n。求x。x为n位数,而且x*x的后n位还是x。
解题思路:打个表会发现事实上有规律,除了n=1的时候多了0和1。其它都是n-1位的基础上再新增一位数,1位的时候是5,6.
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxn = 500;
int a[maxn+5], b[maxn+5];
int mul (int* p, int n) {
int q[maxn+5];
memset(q, 0, sizeof(q));
for (int i = 1; i < n; i++) {
int t = 0, flag = true;
for (int j = 1; j < n; j++) {
if (i + j - 1 > n) {
flag = false;
break;
}
t += p[i] * p[j] + q[i+j-1];
q[i+j-1] = t % 10;
t /= 10;
}
if (flag) {
int mv = i+n-1;
while (t) {
q[mv++] = t % 10;
t /= 10;
}
}
}
/*
for (int i = 1; q[i]; i++)
printf("%d", q[i]);
printf("\n");
*/
return q[n];
}
void init () {
a[1] = 5;
b[1] = 6;
mul(a, 2);
for (int i = 2; i <= maxn; i++) {
int ra = 0, rb = 0;
int p = mul(a, i);
int q = mul(b, i);
for (int k = 0; k <= 9; k++) {
if ((2 * k * a[1] + p) % 10 == k)
ra = k;
if ((2 * k * b[1] + q) % 10 == k)
rb = k;
}
a[i] = ra;
b[i] = rb;
}
}
void put (int* num, int n) {
printf(" ");
for (int i = n; i; i--)
printf("%d", num[i]);
}
int main () {
init();
int cas, n;
scanf("%d", &cas);
for (int k = 1; k <= cas; k++) {
scanf("%d", &n);
printf("Case #%d:", k);
if (n == 1)
printf(" 0 1");
if (a[n] && b[n]) {
if (a[n] > b[n]) {
put(b, n);
put(a, n);
} else {
put(a, n);
put(b, n);
}
} else if (a[n]) {
put(a, n);
} else if (b[n])
put(b, n);
printf("\n");
}
return 0;
}
uva 12009 - Avaricious Maryanna(暴力)的更多相关文章
- UVA 12009 - Avaricious Maryanna(数论)
UVA 12009 - Avaricious Maryanna 题目链接 题意:给定一个n.求出n个数位组成的数字x,x^2的前面|x|位为x 思路:自己先暴力打了前几组数据,发现除了1中有0和1以外 ...
- UVA.12716 GCD XOR (暴力枚举 数论GCD)
UVA.12716 GCD XOR (暴力枚举 数论GCD) 题意分析 题意比较简单,求[1,n]范围内的整数队a,b(a<=b)的个数,使得 gcd(a,b) = a XOR b. 前置技能 ...
- UVA.10305 Maximum Product (暴力)
UVA.10305 Maximum Product (暴力) 题意分析 直接枚举起点和重点,然后算出来存到数组里面,sort然后取最大值即可. 代码总览 #include <iostream&g ...
- uva 725 Division(暴力模拟)
Division 紫书入门级别的暴力,可我还是写了好长时间 = = [题目链接]uva 725 [题目类型]化简暴力 &题解: 首先要看懂题意,他的意思也就是0~9都只出现一遍,在这2个5位数 ...
- UVA - 1602 Lattice Animals (暴力+同构判定)
题目链接 题意:求能放进w*h的网格中的不同的n连通块个数(通过平移/旋转/翻转后相同的算同一种),1<=n<=10,1<=w,h<=n. 刘汝佳的题真是一道比一道让人自闭.. ...
- UVA 253 Cube painting(暴力打表)
Cube painting Problem Description: We have a machine for painting cubes. It is supplied with three d ...
- Uva 10167 - Birthday Cake 暴力枚举 随机
Problem G. Birthday Cake Background Lucy and Lily are twins. Today is their birthday. Mother buys ...
- UVa 818Cutting Chains (暴力dfs+位运算+二进制法)
题意:有 n 个圆环,其中有一些已经扣在一起了,现在要打开尽量少的环,使所有的环可以组成一条链. 析:刚开始看的时候,确实是不会啊....现在有点思路,但是还是差一点,方法也不够好,最后还是参考了网上 ...
- UVa 10603 Fill (暴力BFS+优先队列)
题意:给定4个数,a,b,c,d,分别代表空杯子容积为a,b,一个盛满水的杯子容积为c,让你不断倒水,找一个dd,是不是存在某个时刻, 某个杯子里的水dd,和d相同,或者无限接近.让求最少的倒水量和d ...
随机推荐
- AngularJS学习篇(十九)
AngularJS Bootstrap 可以在你的 AngularJS 应用中加入 Twitter Bootstrap,你可以在你的 <head>元素中添加如下代码: <link r ...
- spring cloud+dotnet core搭建微服务架构:Api授权认证(六)
前言 这篇文章拖太久了,因为最近实在太忙了,加上这篇文章也非常长,所以花了不少时间,给大家说句抱歉.好,进入正题.目前的项目基本都是前后端分离了,前端分Web,Ios,Android...,后端也基本 ...
- sql select case when 语句
有道笔试题: 服务器监控表server_status中,当服务器状态发生server_status变化时数据表中将被插入一条记录,状态0表示停机 1表示正常,用SQL查询Server A 的停机开始 ...
- canvas图表(1) - 柱状图
原文地址:canvas图表(1) - 柱状图 前几天用到了图表库,其中百度的ECharts,感觉做得最好,看它默认用的是canva,canvas图表在处理大数据方面比svg要好.那我也用canvas来 ...
- [深度学习]实现一个博弈型的AI,从五子棋开始(1)
好久没有写过博客了,多久,大概8年???最近重新把写作这事儿捡起来……最近在折腾AI,写个AI相关的给团队的小伙伴们看吧. 搞了这么多年的机器学习,从分类到聚类,从朴素贝叶斯到SVM,从神经网络到深度 ...
- C# 自定义样式实现菜单和工具栏的分割线
在做WinForm界面布局时,菜单和工具栏必不可少!但是MenuStrip和ToolStrip不能够对边框的样式直接设置,如果想实现菜单和工具栏之间的分割线就不容易实现:今天查阅了一下msdn找到了一 ...
- js的call() ,apply() 两种方法的区别和用法,最白话文的解释,让枯燥滚粗!
百度了一圈calll()函数和apply()函数,感觉还是糊里糊涂 正好我前几天刚又重新翻了一遍 那本 600多页 的圣经书,我习惯时不时的去打下基础,只是为了用来装逼,给人讲解....(我是有多蛋疼 ...
- OpenCV探索之路(二十七):皮肤检测技术
好久没写博客了,因为最近都忙着赶项目和打比赛==| 好吧,今天我打算写一篇关于使用opencv做皮肤检测的技术总结.那首先列一些现在主流的皮肤检测的方法都有哪些: RGB color space Yc ...
- Java 中实现方法重试的一种机制
有这样一个需求,当调用某个方法抛出异常,比如通过 HttpClient 调用远程接口时由于网络原因报 TimeOut 异常:或者所请求的接口返回类似于"处理中"这样的信息,需要重复 ...
- C# 排序技术研究与对比
一. 排序场景 一维数组排序 多维数组排序 集合排序,例如Dictionary ,List<T>, 自定义类集合排序等 DataTable排序 二. 排序实现和测试 1. 一维数组排序 1 ...