option=com_onlinejudge&Itemid=8&category=516&page=show_problem&problem=3160" target="_blank" style="">题目连接: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(暴力)的更多相关文章

  1. UVA 12009 - Avaricious Maryanna(数论)

    UVA 12009 - Avaricious Maryanna 题目链接 题意:给定一个n.求出n个数位组成的数字x,x^2的前面|x|位为x 思路:自己先暴力打了前几组数据,发现除了1中有0和1以外 ...

  2. UVA.12716 GCD XOR (暴力枚举 数论GCD)

    UVA.12716 GCD XOR (暴力枚举 数论GCD) 题意分析 题意比较简单,求[1,n]范围内的整数队a,b(a<=b)的个数,使得 gcd(a,b) = a XOR b. 前置技能 ...

  3. UVA.10305 Maximum Product (暴力)

    UVA.10305 Maximum Product (暴力) 题意分析 直接枚举起点和重点,然后算出来存到数组里面,sort然后取最大值即可. 代码总览 #include <iostream&g ...

  4. uva 725 Division(暴力模拟)

    Division 紫书入门级别的暴力,可我还是写了好长时间 = = [题目链接]uva 725 [题目类型]化简暴力 &题解: 首先要看懂题意,他的意思也就是0~9都只出现一遍,在这2个5位数 ...

  5. UVA - 1602 Lattice Animals (暴力+同构判定)

    题目链接 题意:求能放进w*h的网格中的不同的n连通块个数(通过平移/旋转/翻转后相同的算同一种),1<=n<=10,1<=w,h<=n. 刘汝佳的题真是一道比一道让人自闭.. ...

  6. UVA 253 Cube painting(暴力打表)

    Cube painting Problem Description: We have a machine for painting cubes. It is supplied with three d ...

  7. Uva 10167 - Birthday Cake 暴力枚举 随机

      Problem G. Birthday Cake Background Lucy and Lily are twins. Today is their birthday. Mother buys ...

  8. UVa 818Cutting Chains (暴力dfs+位运算+二进制法)

    题意:有 n 个圆环,其中有一些已经扣在一起了,现在要打开尽量少的环,使所有的环可以组成一条链. 析:刚开始看的时候,确实是不会啊....现在有点思路,但是还是差一点,方法也不够好,最后还是参考了网上 ...

  9. UVa 10603 Fill (暴力BFS+优先队列)

    题意:给定4个数,a,b,c,d,分别代表空杯子容积为a,b,一个盛满水的杯子容积为c,让你不断倒水,找一个dd,是不是存在某个时刻, 某个杯子里的水dd,和d相同,或者无限接近.让求最少的倒水量和d ...

随机推荐

  1. 【框架学习与探究之日志组件--Log4Net与NLog】

    前言 本文欢迎转载,作者原创地址:http://www.cnblogs.com/DjlNet/p/7604340.html 序 近日,天气渐冷,懒惰的脑虫又开始作祟了,导致近日内功修炼迟迟未能进步,依 ...

  2. PHPMailer < 5.2.18 远程代码执行漏洞(CVE-2016-10033)

    PHPMailer < 5.2.18 Remote Code Execution 本文将简单展示一下PHPMailer远程代码执行漏洞(CVE-2016-10033)的利用过程,使用的是别人已经 ...

  3. Mysql 删除重复记录,只保留最小的一条

    delete from `jb_postcontent` where id not in(select min(id) from (select * from `jb_postcontent`) as ...

  4. C语言 第三章 关系、逻辑运算与分支流程控制

    目录 一.关系运算 二.逻辑运算 三.运算优先级 四.if语句 4.0.代码块 4.1.单if语句 4.2.if else 4.3.多重if 4.4.?号:号表达式 五.switch语句 一.关系运算 ...

  5. RestSharp使用总结

    RestSharp是一个轻量的,不依赖任何第三方的组件或者类库的Http的组件.RestSharp具有以下的优点:   1.支持.NET 3.5+,Silverlight 4, Windows Pho ...

  6. C#多线程和线程同步总结

    Thread 没有参数的线程启动 Thread newThread = new Thread(new ThreadStart(DoWork)); newThread.Start(); 有参数的线程启动 ...

  7. Python之上下文管理

    http://www.cnblogs.com/coser/archive/2013/01/28/2880328.html 上下文管理协议为代码块提供包含初始化和清理操作的上下文环境.即便代码块发生异常 ...

  8. Vue.js—实现图书管理系统

      前  言 今天我们主要一起来学习一个新框架的使用--Vue.js,之前我们也讲过AngularJS是如何使用的,而今天要讲的Vue.js的语法和AngularJS很相似,因为 AngularJS ...

  9. java 中 “文件” 和 “流” 的简单分析

    java 中 FIle 和 流的简单分析 File类 简单File 常用方法 创建一个File 对象,检验文件是否存在,若不存在就创建,然后对File的类的这部分操作进行演示,如文件的名称.大小等 / ...

  10. LINQ学习系列-----1.4 匿名对象

    本篇内容接着上一篇继续讲述,本篇简单讲解匿名对象 一.匿名对象介绍              上代码: var result=new { ID=, Name="张三", Age= ...