Codeforces Little Dima and Equation 数学题解
1 second
256 megabytes
standard input
standard output
Little Dima misbehaved during a math lesson a lot and the nasty teacher Mr. Pickles gave him the following problem as a punishment.
Find all integer solutions x (0 < x < 109) of
the equation:
x = b·s(x)a + c,
where a, b, c are
some predetermined constant values and function s(x) determines the sum of all digits in the decimal representation of number x.
The teacher gives this problem to Dima for each lesson. He changes only the parameters of the equation: a, b, c.
Dima got sick of getting bad marks and he asks you to help him solve this challenging problem.
The first line contains three space-separated integers: a, b, c (1 ≤ a ≤ 5; 1 ≤ b ≤ 10000; - 10000 ≤ c ≤ 10000).
Print integer n — the number of the solutions that you've found. Next print n integers
in the increasing order — the solutions of the given equation. Print only integer solutions that are larger than zero and strictly less than 109.
3 2 8
3
10 2008 13726
http://codeforces.com/contest/460/problem/B
不算难的题目,就是暴力枚举。只是枚举也没有那么easy的,而是须要非常好的逻辑思维能力,才干在这么段时间内想出问题答案的。
思考:
1 怎样找到规律?
2 没有找到规律,暴力搜索?
3 怎样暴力搜索?遍历?以那个值作为遍历?
4 以x作为遍历?范围太大,肯定超时。
5 以s(x)作为遍历,s(x)表示x的数位值相加,一个数字的数位值相加范围肯定是非常少的。故此能够选定这个值遍历。
6 第5步是关键思考转折点,有点逆向思维的味道。暴力枚举也是能够非常巧妙。没那么easy掌握好。
#include <stdio.h>
#include <vector>
#include <string.h>
#include <algorithm>
#include <iostream>
#include <string>
#include <limits.h>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <math.h>
using namespace std; const int MAX_N = 1000;
const int MAX_VAL = 1000000000;
int digit[MAX_N]; int sumDigits(int num)
{
int sum = 0;
while (num)
{
sum += num %10;
num /= 10;
}
return sum;
} int main()
{
int a, b, c, N;
long long num;
while (scanf("%d %d %d", &a, &b, &c) != EOF)
{
N = 0;
for (int i = 1; i < MAX_N; i++)//enumerate i, which is the sum of digits
{
num = (long long) pow(double(i), double(a));
num = num * b + c;
if (num >= MAX_VAL) break;
if (sumDigits((int)num) == i) digit[N++] = (int)num;
}
sort(digit, digit+N);
printf("%d\n", N);
for (int i = 0; i < N; i++)
{
printf("%d ", digit[i]);
}
if (N) putchar('\n');
}
return 0;
}
Codeforces Little Dima and Equation 数学题解的更多相关文章
- Codeforces 627 A. XOR Equation (数学)
题目链接:http://codeforces.com/problemset/problem/627/A 题意: 告诉你s 和 x,a + b = s a xor b = x a, b > ...
- CF460B Little Dima and Equation (水题?
Codeforces Round #262 (Div. 2) B B - Little Dima and Equation B. Little Dima and Equation time limit ...
- CodeForces460B. Little Dima and Equation
B. Little Dima and Equation time limit per test 1 second memory limit per test 256 megabytes input s ...
- # Codeforces Round #529(Div.3)个人题解
Codeforces Round #529(Div.3)个人题解 前言: 闲来无事补了前天的cf,想着最近刷题有点点怠惰,就直接一场cf一场cf的刷算了,以后的题解也都会以每场的形式写出来 A. Re ...
- Codeforces 547C/548E - Mike and Foam 题解
目录 Codeforces 547C/548E - Mike and Foam 题解 前置芝士 - 容斥原理 题意 想法(口胡) 做法 程序 感谢 Codeforces 547C/548E - Mik ...
- Codeforces Round #557 (Div. 1) 简要题解
Codeforces Round #557 (Div. 1) 简要题解 codeforces A. Hide and Seek 枚举起始位置\(a\),如果\(a\)未在序列中出现,则对答案有\(2\ ...
- Codeforces Round #665 (Div. 2)A-C题解
A. Distance and Axis 题目:http://codeforces.com/contest/1401/problem/A 题解:对于n来说分两种情况,一是奇数,二则是偶数 ①奇数:对于 ...
- Codeforces Round #668 (Div. 2)A-C题解
A. Permutation Forgery 题目:http://codeforces.com/contest/1405/problem/A 题解:这道题初看有点吓人,一开始居然想到要用全排序,没错我 ...
- Codeforces Round #669 (Div. 2)A-C题解
A. Ahahahahahahahaha 题目:http://codeforces.com/contest/1407/problem/A 题解:最多进行n/2的操作次数,我们统计这n个数中1的个数,是 ...
随机推荐
- selenium Select下拉框
先来认识一下下拉框,以百度的“高级设置”为例 介绍两种方法来处理下拉框:使用click事件,使用Select方法 使用click事件 上述下拉框的源代码如下: 虽然我们可以在html源文件中看到sel ...
- Centos 7 编译php 7.2.10
步骤一:安装依赖 yum install -y wget gcc gcc-c++ gd-devel zlib-devel libjpeg-devel libpng-devel libiconv-dev ...
- (1) openssl基础概念
1.1 背景知识 对称加密 :加密解密使用同一密钥,加解密速度快.随着人数增多,密钥数量急增n(n-1)/2. 非对称加密 :使用公私钥配对加解密,速度慢.公钥是从私钥中提取出来的,一般拿对方 ...
- 自定义shell脚本
当脚本需要加入固定的内容时就可以直接使用此文件 1.在用户的家目录下创建.vimrc文件(root用户就在root目录下创建,其他用户就在其他用户家目录下创建这个隐藏文件) 2. 将以下代码写入此文件 ...
- python 学习总结3
Python蟒蛇绘制 一.实现程序如下 import turtle turtle.setup (650, 350, 200, 200)#turtle的绘图窗体turtle.setup(width, h ...
- 一个关于vue+mysql+express的全栈项目(三)------ 登录注册功能的实现(已经密码安全的设计)
本系列文章,主要是一个前端的视角来实现一些后端的功能,所以不会讲太多的前端东西,主要是分享做这个项目学到的一些东西,,,,, 好了闲话不多说,我们开始搭建后端服务,这里我们采用node的express ...
- Solr5.0.0定时更新索引
由于通过配置的方式定时更新不生效,故通过代码执行定时任务更新 package com.thinkgem.jeesite.modules.meeting.task; import java.io.IOE ...
- 【URAL 1989】 Subpalindromes(线段树维护哈希)
Description You have a string and queries of two types: replace i'th character of the string by char ...
- asp网页无法打开
环境:Window 2003.IIS6.Framework1.1 .VS2003 一个WebForm项目里面包含一些asp网页 运行后发现asp页面无法访问 提示:无法找到该页 解决方案: 1. [ ...
- CLR Via CSharp读书笔记(26) - 计算限制的异步操作
执行上下文: 执行上下文包括安全设置(压缩栈.Thread的Principal属性和Windows身份),宿主设置(System.Threading.HostExecutionContextManag ...