对于任意正整数都可以找出至少一串连续奇数,它们的和等于该整数的立方
2017-01-14 02:11
555 查看
题目:对于任意正整数都可以找出至少一串连续奇数,它们的和等于该整数的立方。以下程序验证[2,20]之间的数满足这一性质。
分析:首先得出该整数num的立方n。对于这一连串的奇数,我们不能确定它的个数,但我们可以分析出它的个数不会超过这个整数num(这个应该可以理解~)。那么我们就可以得到一个范围那就是1到num之间的奇数,但至于到底有几个呢?好像不好得到。没关系,用for()循环来帮忙。让它遍历从1到num的所以的奇数,用变量sum来存放它们的和,并依次与立方n进行比较,如果相等了,那这就对了,输出来就好了~,如果比n大了,那么就不能再从1开始了,依次向后排从3,5……,就这样,我们就能找出我们所需要得数了,思路是不是很清晰呢?好了,来看看代码~
代码:
答案例:
上面这个就是其中一个运行结果啦~
欢迎联系我得qq:2516985331
一起学习~
分析:首先得出该整数num的立方n。对于这一连串的奇数,我们不能确定它的个数,但我们可以分析出它的个数不会超过这个整数num(这个应该可以理解~)。那么我们就可以得到一个范围那就是1到num之间的奇数,但至于到底有几个呢?好像不好得到。没关系,用for()循环来帮忙。让它遍历从1到num的所以的奇数,用变量sum来存放它们的和,并依次与立方n进行比较,如果相等了,那这就对了,输出来就好了~,如果比n大了,那么就不能再从1开始了,依次向后排从3,5……,就这样,我们就能找出我们所需要得数了,思路是不是很清晰呢?好了,来看看代码~
代码:
#include<stdio.h> void main() { int i,j=0,n,k,sum=0,num,p=1,a[500],f=0,T=1; printf("输入一个数在2到20之间\n"); scanf("%d",&num); n=num*num*num; for(i=p;i<n;i+=2) { if(sum<n) { sum+=i; a[j++]=i; f=0; } if(sum==n&&f==0)// { printf("第%d种\n",T++); for(k=0;k<j;k++) { printf("%5d",a[k]); } printf("\n"); f++; j=0; i=p+=2; sum=0; i-=2; } if(sum>n) { j=0; i=p+=2; sum=0; i-=2; } } }
答案例:
上面这个就是其中一个运行结果啦~
欢迎联系我得qq:2516985331
一起学习~
相关文章推荐
- 对于任意正整数都可以找出至少一串连续奇数,它们的和等于该整数的立方。以下程序验证[2,20]之间的数满足这一性质。
- 对于任意正整数都可以找出至少一串连续奇数,它们的和等于该整数的立方。以下程序验证[2,20]之间的数满足这一性质。
- 对于任意正整数都可以找出至少一串连续奇数,它们的和等于该整数的立方。以下程序验证[2,20]之间的数满足这一性质
- 对于任意正整数都可以找出至少一串连续奇数,它们的和等于该整数的立方。以下程序验证[2,20]之间的数满足这一性质。
- 对于任意正整数都可以找出至少一串连续奇数,它们的和等于该整数的立方,验证2-20是否满足。
- 对于任意正整数,都可以找出至少一串连续奇数,他们的和等于该整数的立方,验证【2,20】
- 一串连续奇数,它们的和等于该整数的立方。找出[2,20]之间的数满足这一性质。
- 将任意一个正整数n整数的立方分解为连续n个奇数之和
- 小易邀请你玩一个数字游戏,小易给你一系列的整数。你们俩使用这些整数玩游戏。每次小易会任意说一个数字出来,然后你需要从这一系列数字中选取一部分出来让它们的和等于小易所说的数字。 例如: 如果{2,1,2,7}是你有的一系列数,小易说的数字是11.你可以得到方案2+2+7 = 11.如果顽皮的小易想坑你,他说的数字是6,那么你没有办法拼凑出和为6 现在小易给你n个数,让你找出无法从n个数中选取部分求和
- 【递推】任何一个自然数的立方都可以写成一串连续奇数之和问题 C
- 对于一个n位正整数a,去掉其中任意k(k<=n)个数字后,剩下的数字按原次序排列可以组成一个新的正整数。设计一个删数算法,使得剩下的数字组成的正整数最小。例如,a=13243221,k=5,输出:12
- 给定整数a1、a2、a3、...、an,判断是否可以从中选出若干个数,使得它们的和等于k(k任意给定,且满足-10^8 <= k <= 10^8)。
- 找出一定范围内多个连续整数,使其立方之和恰好等于另一个整数的立方
- 给定整数a1、a2、a3、...、an,判断是否可以从中选出若干个数,使得它们的和等于k(k任意给定,且满足-10^8 <= k <= 10^8)。
- 一个正整数有可能可以表示为n(n>=2)个连续的正整数之和,如:15=1+2+3+4+5,15=4+5+6,15=7+8 请编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列。
- 一个正整数有可能可以被表示为 m(m>=2) 个连续正整数之和,编写一个程序,输入一个正整数,然后找出符合这种要求的所有 连续正整数序列,若不存在这种序列,则打印None。
- 陈利人 面试题 对于一个n位正整数a,去掉其中任意k(k<=n)个数字后,剩下的数字按原次序排列可以组成一个新的正整数。设计一个删数算法,使得剩下的数字组成的正整数最小。
- 程序员面试题目总结--数组(五)【数组的后面m个数移动为前面m个数、列的前n项数据、判断整数x是否可以表示成n个连续正整数的和、数组中出现奇数次的元素、二维数组中的查找】
- 输入一个正整数n,返回一个最小正整数m(m至少是2位数),使得m的各位乘积等于n,例如输入36,输出49,输入100,输出455,对于某个n不存在这样的m,请返回-1。
- C 一个数的立方等于连续奇数和