c语言self用法,C/C++知识点之Self Numbers C语言 UVA640
本文主要向大家介绍了C/C++知识点之Self Numbers C语言 UVA640,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。
In 1949 the Indian mathematician D.R. Kaprekar discovered a class of
numbers called self-numbers. For any positive integer n, define d(n) to
be n plus the sum of the digits of n. (The d stands for digitadition, a
term coined by Kaprekar.) For example, d(75) = 75 + 7 + 5 = 87. Given
any positive integer n as a starting point, you can construct the
infinite increasing sequence of integers n, d(n), d(d(n)), d(d(d(n))),
.... For example, if you start with 33, the next number is 33 + 3 + 3 =
39, the next is 39 + 3 + 9 = 51, the next is 51 + 5 + 1 = 57, and so you
generate the sequence
33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, ...
The number n is called a generator of d(n). In the sequence above, 33
is a generator of 39, 39 is a generator of 51, 51 is a generator of 57,
and so on. Some numbers have more than one generator: for example, 101
has two generators, 91 and 100. A number with no generators is a
self-number. There are thirteen self-numbers less than 100: 1, 3, 5, 7,
9, 20, 31, 42, 53, 64, 75, 86, and 97.
Write a program to output all positive self-numbers less than or equal 1000000 in increasing order, one per line.
Sample Output
1
3
5
7
9
20
31
42
53
64
|
|
|
9903
9914
9925
9927
9938
9949
9960
9971
9982
9993
用离线计算的方法,计算出1000000以内的所有非自我数,将这些数筛掉后再从小到大按序输出。
1 //UVA 640
2 #include
3
4 int a[1000001];
5
6 int main(void){
7 int i,b,c;
8 for(i=0;i<=1000000;++i){
9 b=i;c=i;
10 while(c){
11 b+=c%10;
12 c/=10;
13 }
14 a[b]=1;
15 }
16 for(i=1;i<=1000000;++i)
17 if (!a[i]) printf("%d\n",i);
18 return 0;
19 }
View Code
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C/C+频道!
c语言self用法,C/C++知识点之Self Numbers C语言 UVA640相关推荐
- c语言劝学,《劝学》知识点集锦
<劝学>知识点集锦 <劝学>是<荀子>一书的首篇,整理了<劝学>的知识点,可以帮助同学们理解课文. 一.基础知识 1.下边加点的字的字形.注音全对的一组 ...
- c语言常考易错知识点,C语言中易错点知识点拾遗
C语言中易错点知识点拾遗 1. 首先,feof()是文件结束检测函数,如果没有结束,返回值是 0,结束了是 1 由于 feof(fp)返回 0 才 是没有结束,所以通常写成 while(!feof(f ...
- c语言 逗号表达式的作用,关于c语言逗号表达式的运算规则知识点
c语言逗号表达式的运算规则 c语言逗号表达式是由左向右进行的:k=3*2=6,K+2=8,表达式返回8. 逗号表达式用法: 当顺序点用,结合顺序是从左至右,用来顺序求值,完毕之后整个表达式的值是最后一 ...
- c语言getchar用法_C语言 — 关键字
几十个关键字不多,用得多了自然会记住,相信大家也不会担心.下面是C语言中的 32 个关键字: 一丶C语言关键字 第一个关键字:auto 用来声明自动变量.可以显式的声明变量为自动变量.只要不是声明在所 ...
- c语言指针用法有哪些
c语言指针用法: 一,指针定义: 指针变量的取值范围取值0~4G,是一种数据类型(无符号整数,代表了内存编号).它可以用来定义变量(与int.long一样),与int.long不同的它存储整数代表了内 ...
- C语言STATIC用法
C语言STATIC用法 转自:http://blog.csdn.net/vagrantisme/article/details/4083722 1. static 变量 静态变量的类型 说 ...
- 职坐标c语言,C/C++知识点之hexdump的C语言实现
本文主要向大家介绍了C/C++知识点之hexdump的C语言实现,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助. 1 void hexdump(char *buf, int len ...
- go 正则表达式分组匹配_Go语言正则表达式用法实例小结【查找、匹配、替换等】...
本文实例讲述了Go语言正则表达式用法.分享给大家供大家参考,具体如下: Go语言的正则表达式使用很简单,示例代码: 复制代码 代码如下: package test import ( "fmt ...
- R语言 sub()用法
R语言 sub()用法 subR语言中的函数用于替换字符串中模式的第一个匹配项.如果有一个字符串元素向量,那么它将替换所有元素中模式的第一个匹配项. 用法: sub(pattern, replacem ...
最新文章
- SQLSERVER数据库经常置疑的原因
- itools下载链接被360警告:虚假招聘网站
- 160个Crackme041之无源码修改Delphi程序
- Bootstrap初学(一)
- 2018年是VR的新机会吗?
- 深度学习(十九)——FCN, SegNet, DeconvNet, DeepLab, ENet, GCN
- Mr.J-- HTTP学习笔记(十)-- Cookie机制
- 随机采样和随机模拟:吉布斯采样Gibbs Sampling实现文档分类
- linux opendir php,php目录遍历函数opendir用法实例
- EHOME协议在低功耗场景下使用介绍
- 将日期格式格式化为XXXX/XX/XX
- MySQL(一)-MySQL安装、数据库的创建和操作、CRUD、MySQL常用函数、MD5加密
- 实验6 Matlab数值计算
- 按时间抽取的基-2 FFT算法 C语言实现(快速傅里叶变换,蝶形算法)
- java main 参数解析_Java Main参数解析(Args4j)
- android手机无分区无法刷机,adb sideload 刷机教程:当你手机无法开机,内存里没有ROM时......
- 解决out.print()爆红问题
- 遭遇Trojan.PSW.OnlineGames、Trojan.HiJack.a、Trojan.PSW.ZhuXian.b等
- idea classes: does not exist的一个原因和解决
- $reday和window.onload()
热门文章
- c++组合 聚合 关联
- python进程池:multiprocessing.pool
- VS2010发布、打包安装程序超全超详细
- java虚拟机常用命令工具
- AUTOSAR从入门到精通100讲(六十)-Explanation of Firmware Over-The-Air
- 广度优先遍历类似于二叉树的_二叉树的各种遍历方法的简单解释
- laravel mysql 锁表_Laravel中MySQL的乐观锁与悲观锁
- 前端代码规范网址导航(总结)
- 五猴分桃c语言课程设计,c语言程序设计五猴分桃问题实验报告.doc
- 什么是URL转发和一个IP建多个Web站点--主机头名法