例题 2-1 aabb 2-2 3n+1问题
例题2-1 aabb
输出全部形如aabb的四位全然平方数(即前两位数字相等,后两位数字也相等)
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- int main(int argc, char *argv[])
- {
- int i, j, n;
- double m;
- for(i = 1; i <= 9; i++)
- for(j = 0; j <= 9; j++)
- {
- n = i*1100 + j*11;
- //n = (i*10+i)*100 + j*10 + j;
- m = sqrt(n);
- if(floor(m+0.5) == m) printf("%d\n", n);
- }
- system("PAUSE");
- return 0;
- }
- int main(int argc, char *argv[])
- {
- int x, y;
- for(x = 33; x*x <= 9999; x++)
- {
- y = x*x;
- if(y/1000 == y/100%10 && y/10%10 == y%10)
- printf("%d\n", y);
- }
- system("PAUSE");
- return 0;
- }
总结:1 一组逆向的思维解决同一个问题
2 用变量n = a*1100 + b*11来储存四位数
3 浮点运算会存在误差。在进行浮点数误差时,应考虑到浮点误差 如 floor(m+0.5) == m
- 例题2-2 3n+1问题
- 猜想:对于随意大于1的自然数n。若n为奇数,则将n变成3n+1。否则变成一半
- 经过若干次这种变换。一定会使n变成1.比如3->10->5->16->8->4->2->1 输入n,输出变换的次数。
- n≤10^9. 例子输入:3 例子输出:7
- #include <stdio.h>
- #include <stdlib.h>
- int main(int argc, char *argv[])
- {
- unsigned n, count = 0;
- scanf("%d", &n);
- while(n > 1)
- {
- if(n % 2 == 1) { n = n + (n+1)/2; count += 2; continue;}
- else n >>= 1 ;
- count++;
- }
- printf("%d\n", count);
- system("PAUSE");
- return 0;
- }
总结:1 3n+1会溢出
2 一个暂时的解决方式是:由于n为奇数事3*n+1一定是偶数,下一步将其立马除以2.假设将两次操作一起做,能够在一定程度上缓解这个问题。
有兴趣的读者能够试一 试。程序特点,要善于发现。
3 除以2 用右移操作
4 (3n+1)/2不如写做 n + (n+1)/2,降低溢出的可能
例题2-3 阶乘之和
输入n,计算S=1!+2!+3!+……+n!的末6位(不含前导0),n≤10^6
- #include <cstdlib>
- #include <stdio.h>
- int main()
- {
- const int MOD = 1000000;
- int n;
- long long sum = 0, tem = 1;
- scanf("%d",&n);
- for (int i=1; i<=n; i++)
- {
- tem = tem*i%MOD ;
- sum = (sum+tem)%MOD;
- }
- printf("%d\n",sum);
- system("PAUSE");
- return EXIT_SUCCESS;
- }
总结:1 算术溢出,用每步除MOD的方式来解决
2 本题特性,当n>25时。结果就不变了,善于发现题目特点
例题 2-1 aabb 2-2 3n+1问题的更多相关文章
- - > code vs 3038 3n+1问题(递归)
3038 3n+1问题 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 白银 Silver 题解 题目描述 Description 3n+1问题是一个简单有趣而又没有解决的数 ...
- BIT 树状数组 详解 及 例题
(一)树状数组的概念 如果给定一个数组,要你求里面所有数的和,一般都会想到累加.但是当那个数组很大的时候,累加就显得太耗时了,时间复杂度为O(n),并且采用累加的方法还有一个局限,那就是,当修改掉数组 ...
- STL模板中的map的使用与例题
最近的计分赛,记得自己的都只是过了两题.遇到了两次map,自己在寒假看了一点的map,只知道在字符串匹配的时候可以用的到.但是自己对map的使用还是不够熟练使用,这回在第一次和第二次的计分赛中都遇到可 ...
- 害死人不偿命的(3n+1)猜想
卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去,最后一定在某一步得到n=1.卡拉兹在1950年的世界数 ...
- C语言经典例题100
C语言经典例题100 来源 http://www.fishc.com 适合初学者 ----------------------------------------------------------- ...
- 1001. 害死人不偿命的(3n+1)猜想 (15)
1001. 害死人不偿命的(3n+1)猜想 (15) 较简单,直接代码实现: #include <cstdio> int main() { int n; scanf("%d&qu ...
- PAT 乙级 1005. 继续(3n+1)猜想 (25)
1005. 继续(3n+1)猜想 (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情 ...
- 1293. 3n+1数链问题 2016 12 23
/* 1293. 3n+1数链问题 Constraints Time Limit: 1 secs, Memory Limit: 32 MB Description 在计算机科学上,有很多类问题是无法解 ...
- 图的全局最小割的Stoer-Wagner算法及例题
Stoer-Wagner算法基本思想:如果能求出图中某两个顶点之间的最小割,更新答案后合并这两个顶点继续求最小割,到最后就得到答案. 算法步骤: --------------------------- ...
随机推荐
- 如何通过免费开源ERP Odoo实现企业数字化转型深度分析(一)
本文来自<开源智造企业数字化转型报告白皮书>的精选内容章节.请勿转载.欢迎您反馈阅读意见. 引言 在由消费者驱动的数字经济时代,创新之势锐不可挡.变革步伐从未如此迅速,并且还会越来越快.对 ...
- CAS配置(1)SSL证书配置
一.配置源码 源码配置稍后提供 二.系统环境安装 安装JDK配置,版本>=1.7 环境变量配置(参考): JAVA_HOME=C:\Program Files x86)\Java\jdk1.7. ...
- Windows phone开发数据绑定系列(1)--了解数据绑定
(部分内容参考MSDN文档) 数据绑定是在应用程序UI与业务逻辑之间建立连接的过程.通过数据绑定的方式实现了后台数据和前台UI元素的关联, 为用户提供了更好地交互体验. 数据绑定一般有以下几种体现方式 ...
- 2018年排名前20的数据科学Python库
Python 在解决数据科学任务和挑战方面继续处于领先地位.业已证明最有帮助的Python库,我们选择 20 多个库,因为其中一些库是相互替代的,可以解决相同的问题.因此,我们将它们放在同一个分组. ...
- HTML5标签构成
一个HTML5文件是由一些列的元素和标签组成的.元素是HTML5文件的重要组成部分,例如title(文件标题).img(图像)及table(表格)等.元素名不区分大小写,而HTML5用标签来规定元素的 ...
- Architecture:话说科学家/工程师/设计师/商人
从使命.目的.行为的不同,可以归类人群到科学家.工程师.设计师.商人等等.使命分别是:1.携带当下社会的财富对未来探索,希望引发变革:2.掌握工程全貌.完成整个工程的圣经周期:3.在工程的设计层面做文 ...
- C#连接Oracle数据库的方法(System.Data.OracleClient、Oracle.DataAccess.Client也叫ODP.net、Oracle.ManagedDataAccess.dll)
官方下载地址(ODP.net)(中文):http://www.oracle.com/technetwork/cn/topics/dotnet/downloads/index.html 官方下载地址(O ...
- 复习MySQL②数据类型及约束条件
数据类型分为数值类型.日期和时间类型.字符串类型 数值类型: – INT:有符号的和无符号的.有符号大小-2147483648~2147483647,无符号大0~4294967295. 宽度最多为11 ...
- marquee图片无缝拼接滚动
marquee图片无缝滚动 先了解一下对象的几个的属性: innerHTML: 设置或获取位于对象起始和结束标签内的 HTML scrollHeight: 获取对象的滚动高度. scrollL ...
- 2019-04-12 SQL 主键约束
create table dbo.AssetPool( ID bigint not null, poolname nvarchar(50)not null, constraint pk_AssetPo ...