Linux下的C语言编程——



今天我们来翻译一个题目,其实是我不会写,在网上找的程序,然后稍微修改了一下。

题目是:对于任意正整数都可以找出至少一串连续奇数,它们的和等于该整数的立方。以下程序验证[2,20]之间的数满足这一性质。

题目的意思是证明2-20之间随便一个数的立方都有连续的奇数的和与之相等。
先从一开始找,找到不到再从三开始找,如此循环,知道找到为止,找不到就说明这个结论是错的
下面附上代码
#include <stdio.h>

int main()
{
	int n;
	int i;
	int j;
	int p;
	int k;
	int sum;

	for(n = 2; n <= 20; n++)
	{
		k = n * n * n;

		for(i = 1; i < k/2; i += 2)
		{
			for(j = i,sum = 0; sum < k; j += 2 )
			{
				sum += j; 
			}
			
			if(sum == k)
			{
				printf("%d*%d*%d = %d =",n,n,n,sum);
				
				for(p = i; p <= j - 2; p += 2)
				{
					if(p != j-2)
					{
						printf("%d+",p);
					}
					else
					{
						printf("%d",p);
					}

				}
				
				printf("\b\n");

				break;
			}
		}

		if(i >= k/2)
		{
			printf("\nerror!");
		}
	}

    return 0;
}
下面附上我的运行代码图

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值