用曼哈顿距离来巧解---输出菱形的问题
生活随笔
收集整理的這篇文章主要介紹了
用曼哈顿距离来巧解---输出菱形的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天才發現輸出菱形有一個特別巧妙的方法。就是用曼哈頓距離。
詳細資料可以看這里:曼哈頓距離
那么如何用曼哈頓距離來輸出菱形的呢?
我們來分析一下。
你會發現輸出 " * " 號的位置到中心點的曼哈頓距離都是小于等于 n/2 的。 其中n代表菱形的行數。
那么代碼就如下:
#include<iostream> #include<cmath> using namespace std; int main(void) {int n; cin>>n;int c=n/2;for(int i=0;i<n;i++){for(int j=0;j<n;j++){if(abs(i-c)+abs(j-c)<=c)//曼哈頓距離小于n/2{cout<<"*";}else{cout<<" ";}}cout<<endl;}return 0; } 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的用曼哈顿距离来巧解---输出菱形的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第二章:二分和前缀和 【完结】
- 下一篇: 476. 数字的补数 【位运算】