Xây Tháp
Submit solution
Points:
2 (partial)
Time limit:
1.0s
Memory limit:
125M
Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG
Tichpx chơi trò chơi xây tháp bằng các vật thể giống nhau là các hình lập phương có cạnh bằng nhau. Tầng 1 của tháp là 1 hình lập phương, tầng 2 là 3 hình lập phương và tầng thứ i có 2i-1 hình lập phương. Bài toán đặt ra là để xây tháp có n tầng thì cần đúng bao nhiêu hình lập phương.
Input
Một dòng duy nhất là số tầng tháp cần xây N \((1 <= N<=10^8)\)
Output
Một số nguyên dương là số hình lập phương cần dùng
Ví dụ:
Input
3
Output
9
Giải thích:
Tầng 1 là 1 hộp, Tầng 2 là 3 hộp, Tầng 3 là 5 hộp. Nên tất cả cần 1+3+5 = 9
Comments
bài này chắc cout << n * n là xong nhỉ =)))
:D hợp lý nhỉ
include<bits/stdc++.h>
using namespace std ;
long long xt(long long n) { if(n==1) return 1 ; else return 2*n-1+xt(n-1) ; }
int main() { long long n; cin>>n; cout<<xt(n) ;
}
include<stdio.h>
include<iostream>
include<math.h>
using namespace std;
int main(){
}
include <stdio.h>
include <math.h>
int main() { int n; scanf("%d",&n); int tong=n + (n*(n-1)); printf("%d",tong); }
Cho em hỏi em sai ở đâu vậy ạ?
sao bạn nghĩ ra dk công thức này hay vậy ==
mình rất ấn tượng về thuật toán của bạn. bạn có thể giải thích cho mình cách tìm ra công thức được không?
biến chạy đến 10 mũ 8. biến int max là 32654. nên bị lỗi tràn bộ nhớ. bạn đổi kiểu biến thành long là được.
Bài toán này rất thú vị vì đây là 1 bài toán thuộc dạng cấp số cộng bị ẩn, biết công thức tổng quát của cấp số cộng.
sau khi đã chứng minh được tính chất của dãy, chúng ta có thể dùng trực tiếp công thức của cấp số cộng , với u(1) =1 vì tầng 1 chỉ có 1 hộp, công sai =2 .