Linux下的C语言编程——

时间:2022-01-24 02:20:48



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


题目是:对于任意正整数都可以找出至少一串连续奇数,它们的和等于该整数的立方。以下程序验证[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;
}

下面附上我的运行代码图

Linux下的C语言编程——