摘要: 解题思路:看过题就知道是要找规律的,而从下列式子中不容易发现, S(1)=1, //在s(n)从左往右看 S(2)=11, s(1)中有1个1; S(3)=21, s(2)中有2个1; S(4)=1211, s(3)中有1个2和1个1; S(5)=111221,s(4)中有1个1、1个2和2个1; S(6)=312211, s(5)中有3个1、2个2和1个1;……让求s(n)的长度,首先必须找出 s(n)的组成结构,其实仔细一看,会发现s(n)的组成是跟 s(n-1) 密切相关的,过程如上所述。由于 n<=30,数据不大,我就定义了一个二维字符数组来保存s(n)的所有信息,然后就可以求出 阅读全文
posted @ 2012-03-21 09:20 笑巧 阅读(467) 评论(0) 推荐(0) 编辑
摘要: 题意:找出最小的正整数 x,输入一个整数 n ,能找到一个整数 y ,满足 y2=n+x2 ,题目要求 n<=109 。解题思路:如果要按正常方法从小到大遍历,由于数据量大一定会超时。其实上述式子转化后可以分解因子:n = ( y - x )*( y + x ) ;令 y - x = i,所以有 x + y = n / i ,即 ( n / i - i ) / 2 = x. 注意:x 要大于 0 ,当 n 是完全平方数时要注意。View Code 1#include<iostream>2#include<cstdio>3#include<cmath>4 阅读全文
posted @ 2012-03-21 09:06 笑巧 阅读(433) 评论(0) 推荐(0) 编辑