3、任何一个自然数m的立方均可写成m个连续奇数之和。例如:
1^3=1
2^3=3+5
3^3=7+9+11
4^3=13+15+17+19
编程实现:输入一自然数n,求组成n^3的n个连续奇数。
4、由键盘输入一个自然数N(1≤N≤9),要求程序在屏幕上输出如下图形。
N=1时: N=3时: N=4时:
1 11111 1111111
12221 1222221
12321 1233321
12221 1234321
11111 1233321
1222221
1111111
注:应保证N在图形中只出现一次,且在中心。
1 #include <iostream> 2 #include <cstring> 3 #include <cmath> 4 using namespace std; 5 //通过数学公式可以推出起始位置 6 int main() 7 { 8 int i,j,k; 9 int m; 10 cin>>m; 11 int ans = m*m - m + 1; 12 cout<<ans; 13 for(i=1; i<m; i++) 14 { 15 ans += 2; 16 cout<<" "<<ans; 17 } 18 while(1); 19 return 0; 20 }
1 #include <iostream> 2 #include <cstring> 3 #include <cmath> 4 using namespace std; 5 6 int main() 7 { 8 int i,j,k; 9 int N; 10 int a[20][20]; 11 while(cin>>N)//2*n - 1维数组 12 { 13 memset(a,0,sizeof(a)); 14 int ans = 2*N - 1; 15 for(i=0; i<N; i++) 16 { 17 //加上等号是为了最中间的数不是0 18 for(j=i; j<=ans-1-i; j++) 19 a[i][j] = i+1; 20 for(j=i; j<=ans-1-i; j++) 21 a[j][ans-i-1] = i+1; 22 for(j=ans-i-1; j>=i; j--) 23 a[ans-i-1][j] = i+1; 24 for(j=ans-i-1; j>=i; j--) 25 a[j][i] = i+1; 26 27 } 28 29 for(i=0; i<ans; i++) 30 { 31 cout<<a[i][0]; 32 for(j=1; j<ans; j++) 33 cout<<" "<<a[i][j]; 34 cout<<endl; 35 } 36 } 37 //while(1); 38 return 0; 39 40 }