2573: 连续奇数和

题目描述

小明看到一本书上写着:任何数字的立方都可以表示为连续奇数的和。

比如:

2^3 = 8 = 3 + 5

3^3 = 27 = 7 + 9 + 11

虽然他没有想出怎么证明,但他想通过计算机进行验证。

所以聪明的你快来帮小明证明吧,你的工作就是要找出任何数字的立方的连续奇数之和的表示,如上式所示。

输入

多组数据输入,第一行输入一个数T,接下来有T行。

每行输入一个数n,表示你要计算立方的数字。

输出

输出对应n的立方之连续奇数和表示法的序列。

样例输入

2
2
3

样例输出

3 5
7 9 11

提示

如果对应一个n有多个表示方案,选择起始数字小的方案。

#include <iostream>
using namespace std;

int main()
{
	int t;
	cin >> t;
	while(t --)
	{
		int n, m;
		cin >> n;
		m = n * n * n;
		for(int i = 1; i <= m / 2 + 3; i = i + 2)
		{
			int sum = 0;
			for(int j = i; j <= m / 2 + 3; j = j + 2)
			{
				sum += j;
				if(sum == m)
				{
					for(int k = i; k <= j; k = k + 2)
						cout << k << " ";
					cout << endl;
				}
				if(sum > m)
				{
					break;
				}
			}
		}
	}

	return 0;
}

  

原文地址:https://www.cnblogs.com/mjn1/p/10593159.html

时间: 2024-08-28 15:05:15

2573: 连续奇数和的相关文章

输出20个连续奇数,数组剪接合并,字符串切割

<?php //作业1 输出20个连续奇数 function odd($length){ $arr = array(); $a = -1; for($i = 0; $i < $length; $i++){ $a += 2; $arr[$i] = $a; } echo "<pre>"; print_r($arr); echo "</pre>"; } odd(20); ?> <?php //作业二 //构造一个连续的自然数

连续奇数和

//4^3 = 64 = 1 + 3 + ... + 15//写出 111 的立方之连续奇数和表示法的起始数字.如果有多个表示方案,选择起始数字小的方案.//S = a + ... = na + n(n-1)d/2 = n(n+a-1)注意n+a-1>=a,想要a取得最小值,则n尽可能大 #include <stdio.h> #define eps 1e-7 #include <math.h> int main() { int n = (int)sqrt(pow(111,3)

Percona-Server-5.6.25-73.1二进制rpm包安装

下载:wget https://www.percona.com/downloads/Percona-Server-5.6/Percona-Server-5.6.25-73.1/binary/redhat/6/x86_64/Percona-Server-5.6.25-73.1-r07b797f-el6-x86_64-bundle.tartar zxvf Percona-Server-5.6.25-73.1-r07b797f-el6-x86_64-bundle.tar 2.依次序安装三个文件(先后顺

一些项目——连续奇数和

题目描述 小明看到一本书上写着:任何数字的立方都可以表示为连续奇数的和. 比如: 2^3 = 8 = 3 + 5 3^3 = 27 = 7 + 9 + 11 虽然他没有想出怎么证明,但他想通过计算机进行验证. 所以聪明的你快来帮小明证明吧,你的工作就是要找出任何数字的立方的连续奇数之和的表示,如上式所示. 输入 多组数据输入,第一行输入一个数T,接下来有T行. 每行输入一个数n,表示你要计算立方的数字. 输出 输出对应n的立方之连续奇数和表示法的序列. 代码 #include <iostream

poj 2573 Bridge (过桥问题 贪心)

对于此问题有两种策略 1.最快的带最慢的和次慢的 2.最快和次快带最慢和次慢 此链接有详细解释点击打开链接 <span style="font-size:18px;"><span style="font-size:24px;">#include<stdio.h> #include<string.h> #include<algorithm> #include<iostream> using nam

wikioi 2573 大顶堆与小顶堆并用

题目描述 Description 我们使用黑匣子的一个简单模型.它能存放一个整数序列和一个特别的变量i.在初始时刻,黑匣子为空且i等于0.这个黑匣子能执行一系列的命令.有两类命令: ADD(x):把元素x放入黑匣子:GET:把i加1的同时,输出黑匣子内所有整数中第i小的数.牢记第i小的数是当黑匣子中的元素已非降序排序后位于第i位的元素. 下面的表6_4是一个11个命令的例子: 表6_4 编号 命令 i 黑匣子内容 输出 1 ADD(3) 0 3 2 GET 1 3 3 3 ADD(1) 1 1,

POJ 2573 Bridge 【模拟+分治】

题目: n人希望在晚上过河. 最多两人可以组成一组一起过河,每组必须有手电筒. 在n个人中只有一个手电筒,所以必须安排过河顺序,以便及时返回手电筒使得更多的人可以过河.每个人的过河速度都不同; 每一组的速度由较慢成员的速度决定. 你的任务就是确定一个方案,让所有的人在最短的时间内过河并且输出方案. 分析: 此题其实本来是没有思路的,但是 ,通过排序,我们发现:既然每次都得一个人传递手电筒,为什么不让最快的那个人传呢(其实同时需要a[1],a[2]两个人配合,详见方案2)?又因为能者多劳,因此每次

【水】Nocomachns定理

Nocomachns定理 题目描述 数学上已证明:任何一个自然数n的3次方可以表示为n个连续奇数之和,例如3的3次方为27=7+9+11.试编程求出,当键盘输入一个自然数时,求出它3次方的值及其连续奇数之和. 输入 一个整数N(N<=100) 输出 N的三次方的分解,格式如样列. 样例输入 3 样例输出 3^3=7+9+11 分析 一定要认真看题目...n个连续奇数,如果早看到就没那么麻烦了.... 这题标准解法应该是这样滴: n^3=n*n^2,所以这n个奇数是以n^2为对称轴的n个奇数...

【2016-11-2】【坚持学习】【Day17】【微软 推出的SQLHelper】

从网络上找到 微软原版本的SQLHelper,很多行代码.认真看了,学习了. 代码: 1 using System; 2 using System.Data; 3 using System.Xml; 4 using System.Data.SqlClient; 5 using System.Collections; 6 7 namespace Helper 8 { 9 /// <summary> 10 /// The SqlHelper class is intended to encapsu