解题思路:
首先,定义整数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+11 11=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+29 29=5^2+(5-1) 21=19+2
6^3=31+33+35+37+39+41 41=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,并且题目输出没有小数;
题目说让验证,不止一组测试值,以文件结束符结束;
运行图:
参考代码:
#include<stdio.h> #include<math.h> int main() { int N; while(scanf("%d",&N)!=EOF) { int each_oddnum=pow(N-1,2)+(N-1-1)+2; printf("%d*%d*%d=%.0lf=",N,N,N,pow(N,3)); for(int i=1;i<N;i++) { printf("%d+",each_oddnum); each_oddnum+=2; } printf("%d\n",each_oddnum); } return 0; }
0.0分
35 人评分
#include <stdio.h> #include<string.h> int main() { int a[50]; int m,n; scanf("%d", &m); n = m * m * m; printf("%d*%d*%d=%d=", m, m, m, n); for (int i = m*m-m+1; i <= m*m+m-1; i +=2) { printf("%d", i); if (i+1<=m*m+m-1) { printf("+"); } } } 我觉得我的挺简单的
麻烦哪位帮忙看看问题出在哪?谢谢! #include<stdio.h> int main() { int m,a; scanf("%d",&m); a=m*(m-1)/2; printf("%d*%d*%d=%d",m,m,m,2*a+1); for(int i=1;i<m;i++) printf("+%d",2*(a+i)+1); return 0; }
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:736 |
C语言训练-列出最简真分数序列* (C语言代码)浏览:543 |
拆分位数 (C语言代码)浏览:1361 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:613 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:485 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:548 |
简单的a+b (C语言代码)浏览:661 |
母牛的故事 (C语言代码)浏览:1451 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:645 |
Minesweeper (C语言描述,蓝桥杯)浏览:1177 |
11111 2019-09-25 08:41:31 |
老哥,你为什么要用string
qweuihqqi 2019-09-25 17:48:57 |
@505205063 应该没用,我当时一般写答案都先写两个库
qweuihqqi 2019-09-25 17:51:31 |
@505205063 还有那个a也没用,以前太粗心了没删除干净的