原题链接:【C语言训练】尼科彻斯定理
http://www.dotcpp.com/oj/problem1127.html
解题思路:
首先,定义整数N;写出N从1到6的每一个数的尼科彻斯等式,观察规律;如下:
N
1^3=1 1=1^2+(1-1)
2^3=3+5 5=2^2+(2-1)3=1+2
3^3=7+9+1111=3^2+(3-1)7=5+2
4^3=13+15+17+19 19=4^2+(4-1)13=11+2
5^3=21+23+25+27+2929=5^2+(5-1)21=19+2
6^3=31+33+35+37+39+4141=6^2+(6-1)31=29+2
……………………………………
N^3=红= (N)^2+(N-1)蓝=(N-1)^2+((N-1)-1)+2
根据上面规律归纳总结得到:
(1)N等于N个连续奇数的和;
(2)N的尼科彻斯等式中,第一个奇数,等于N-1的尼彻尼科彻斯等式中,最后一个奇数+2;
(3)N-1的尼科彻斯等式中,最后一个奇数等于(N-1)^2+( (N-1)-1);
编程思路就是:
输入一个整数N;
求出它的尼科彻斯公式中第一个奇数
循环输出N-1个奇数和加号(在第一个基础上加上2)
输出最后一个奇数,不带加号;
注意事项:
输出“1*1*1=1=”这部分时,如:printf("%d*%d*%d=%.0lf=",N,N,N,pow(N,3));
pow返回值不是int型,故不可以用%d,并且题目输出没有小数;
题目说让验证,不止一组测试值,以文件结束符结束;
运行图:
参考代码:
领取专属 10元无门槛券
私享最新 技术干货