UVa 1583 Digit Generator --- 水题+打表
题目大意:如果x加上x的各个数字之和得到y,那么称x是y的生成元。
给定数字n,求它的最小生成元
解题思路:可以利用打表的方法,提前计算出以i为生成元的数,设为d,并保存在a[d]中(a[d]=i),反复枚举,若是初次遇到或遇到更小的则更新
相关说明:本来按书上来,在更新数组a时,if里是有或上 i < a[y]这个条件的,
但观察到由于i是从小到大枚举的,因此只会更新一次,即第一次填进去的就是最小生成元,因此去掉仍然AC
/* UVa 1583 Digit Generator --- 水题+打表 */
#include <cstdio>
#include <cstring> const int maxn = ;
int a[maxn]; //a[i]的值表示i的最小生成元是a[i] int main()
{
memset(a, , sizeof a);
for (int i = ; i < maxn; ++i){
int x = i, y = i;
//通过i并类加上各位置的和得到y,因而i是y的生成元 a[y] = i;
while (x){
y += x % ;
x /= ;
}
//i是y的生成元 由i--->y的
//若是第一次算出y 或者 当前生成元比以前的更小 则更新
//本来按书上来if里是有或上 i < a[y]这个条件的
//但是由于i是从小到大枚举的 因此只会更新一次 即第一次填进去的就是最小生成元 因此去掉仍然AC
if (a[y] == ){ // || i < a[y]
a[y] = i;
}
}//for(i) int t, n;
scanf("%d", &t);
while (t--){
//打完表后每次读取便可
scanf("%d", &n);
printf("%d\n", a[n]);
}//while(t) return ;
}
UVa 1583 Digit Generator --- 水题+打表的更多相关文章
- UVa 1225 Digit Counting --- 水题
UVa 1225 题目大意:把前n(n<=10000)个整数顺次写在一起,12345678910111213...,数一数0-9各出现多少字 解题思路:用一个cnt数组记录0-9这10个数字出现 ...
- UVa 1583 Digit Generator(数学)
题意 假设a加上a全部数位上的数等于b时 a称为b的generator 求给定数的最小generator 给的数n是小于100,000的 考虑到全部数位和最大的数99,999的数位和也才45 ...
- UVa 1583 - Digit Generator 解题报告 - C语言
1.题目大意 如果a加上a的各个数字之和得到b,则说a是b的生成元.给出n其中$1\le n\le 100000$,求其最小生成元,若没有解则输出0. 2.思路 使用打表的方法打出各个数字a对应的b, ...
- uva 1583 Digit Generator(Uva-1583)
题目不再写入了,vj:https://vjudge.net/problem/UVA-1583#author=0 主要讲的是找一个数的小于它的一个数,小于它的那个数每一位加起来再加上那个数就会等于原来的 ...
- UVa 1583 - Digit Generator
A+A的每一位的数字的和=B 问你每一个B对应 的最小的A 是多少 不然输出0: #include <cstdio> #include <iostream> #include ...
- UVa 1583 Digit Generator WA
#include<stdio.h> int main() { long int n,i,s=0; while(scanf("%d",&n)!=EOF) { in ...
- UVa 1339 Ancient Cipher --- 水题
UVa 1339 题目大意:给定两个长度相同且不超过100个字符的字符串,判断能否把其中一个字符串重排后,然后对26个字母一一做一个映射,使得两个字符串相同 解题思路:字母可以重排,那么次序便不重要, ...
- UVa 1586 Molar mass --- 水题
UVa 1586 题目大意:给出一种物质的分子式(不带括号),求分子量.本题中分子式只包含4种原子,分别为C.H.O.N, 原子量分别为12.01,1.008,16.00,14.01 解题思路:先实现 ...
- UVa 272 Tex Quotes --- 水题
题目大意:在TeX中,左引号是 ``,右引号是 ''.输入一篇包含双引号的文章,你的任务是把他转成TeX的格式 解题思路:水题,定义一个变量标记是左引号还是右引号即可 /* UVa 272 Tex Q ...
随机推荐
- HDU 1203-Program D
Description Speakless很早就想出国,现在他已经考完了所有需要的考试,准备了所有要准备的材料,于是,便需要去申请学校了.要申请国外的任何大学,你都要交纳一定的申请费用,这可是很惊人的 ...
- Spring学习笔记之方法注入
public abstract class ReplacedBean {protected static final Log log = LogFactory.getLog(ReplacedBean ...
- 多线程同步内功心法——PV操作上(未完待续。。。)
阅读本篇之前推荐阅读以下姊妹篇: <秒杀多线程第四篇一个经典的多线程同步问题> <秒杀多线程第五篇经典线程同步关键段CS> <秒杀多线程第六篇经典线程同步事件Event& ...
- 【转发】linux yum命令详解
linux yum命令详解 yum(全 称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理, ...
- SplashTop Remote + 4核android平板 试用
局域网默认情况 最大100Mb 的网速下, 延迟在500ms+, 观看视频无影响, 但游戏无法进行! 另一种方案,利用多网卡来提升网络传输性能!
- 开源留言板 --wekan部署
1. 安装ubuntu--server-64位系统 2. 登录ubuntu系统 3. 下载自动安装脚本 #git clone https://github.com/anselal/wekan 4. 执 ...
- 关于doctype
一:html文档类型 doctype为documentype 的简称,是在html页面中声明的XHTML或者HTML的文件类型,正确准确的文件类型的声明,才能使html标签以及CSS样式生效. 声明文 ...
- Java异常机制
Java异常分类 异常表明程序运行发生了意外,导致正常流程发生错误,例如数学上的除0,打开一个文件但此文件实际不存在,用户输入非法的参数等.在C语言中我们处理这类事件一般是将其与代码正常的流程放在一起 ...
- JS判断移动设备最佳方法 并实现跳转至手机版网页
我在开发的Magento或Wordpress主题时,通过都会制作手机版本,为了实现某个片段在手机端和桌面端不同功能,又或者如果是手机设备,就跳转到指定的网页上,那么这里就需要用到JS来做判断了,下面有 ...
- JAVA的第一个程序
关于下载安装环境变量的配置网上的教程已经很多了 . 下面附上第一个HelloWorld的代码 /** 这是我的第一个java程序 */ public class HelloWorld { public ...