答案 0 :(得分:0)
<?php
include_once "settings.php";
if (!empty($_POST["RestaurantID"])) {
$RestaurantID = $_POST["RestaurantID"];
$query = "SELECT * FROM restaurants WHERE RestaurantID = $RestaurantID";
$results =
($con, $query);
foreach ($results as $restaurants) {
?>
<option value="<?php echo $restaurants['RestaurantID']; ?>"><?php echo $restaurants["RestaurantName"]; ?>"></option>
<?php
}
}
?>
答案 1 :(得分:0)
注意,对于大小为n的匹配行,有(n *(n + 1))/ 2(或n + 1选择2)个片段。 让我们考虑一下水平的行。我们从最小的水平行(大小为1)开始,然后到最大的水平行(大小为n)。这就是我们如何构建循环。现在注意,对于对角线定向的行,其中的片段数量将与水平行中的片段数量相同。
鉴于有三个方向我们可以得到循环的结果并将它乘以3.你的答案。
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += (i * (i + 1))/2;
}
sum *= 3;
答案 2 :(得分:0)
请注意,实际上我们可以计算一个方向的片段,然后乘以3,因为它们是对称的(如图中的3种不同颜色所示)
让我们计算一个方向:
每个级别x
都有x
个匹配,我们可以选择x
长度为1的片段,x-1
长度为2的片段,x-2
长度为3的片段。等等。
因此对于每个级别x
,有1 + 2 + 3 + ... + x = x *(x + 1)/ 2个片段
因此,我们可以简单地为一个方向循环所有级别x
,然后乘以3.
以下是C ++代码示例:
#include<bits/stdc++.h>
using namespace std;
int n, ans = 0;
int main() {
cin >> n;
for(int i=1; i<=n ;i++){
ans += (1+i)*i / 2;
}
ans *= 3;
cout << ans << endl;
return 0;
}
&#13;