[Mảng 1 Chiều Cơ Bản]. Bài 60. Dãy số chia dư
Xem dạng PDF
Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Cho mảng A[] gồm N phần tử bạn hãy tính kết quả của biểu thức
S = (A[0]^0 + A[1]^1 + A[2]^2 + …. + A[N-1]^(N-1)) % 1000000007
Đầu vào
Dòng 1 là N : số phần tử trong mảng
Dòng 2 là N số viết cách nhau 1 dấu cách
Giới hạn
1≤N≤10^3
0≤A[i] ≤10^6
Đầu ra
In ra đáp án của bài toán
Ví dụ :
Input 01
3
2 1 5
Output 01
27
Input 02
16
2 2 4 8 4 8 8 4 7 2 5 0 8 2 6 7
Output 02
660967730
Bình luận
include <bits/stdc++.h>
using namespace std; const long long chialaydu=1000000007; long long nhiphan(long long a, long long b){ long long c =1; while(b>0){ if(b%2==1){ c=(ca)%chialaydu; } a=(aa)%chialaydu; b/=2; } return c; } int main() { long long n; cin >> n; long long a[n]; for(int i=0;i<n;i++)cin >> a[i]; long long tong=0; for(int i=0;i<n;i++){ tong=(tong+nhiphan(a[i],i))%chialaydu; } cout << tong; return 0; } full ac nha mn
.
include<bits/stdc++.h>
using namespace std;
define ll long long
ll b[1123456],d1,d2,s1,s2,n,maxx=LLONGMIN,minn=LLONGMAX,minn2=LLONGMAX,x,k,m,sct=1000000007; ll cnt[1123456]; ll a[1123456]; ll ltdeu(ll a, ll b) { ll res=1; a%=sct; for(ll i=1; i<=b; i++) { res=(res*a)%sct; } return res; } ll ltxin(ll a, ll b) { ll res2 = 1; ll MOD = 1000000007; a %= MOD; while (b > 0) { if (b % 2 == 1) { res2 = (res2 * a) % MOD; } a = (a * a) % MOD; b /= 2; } return res2; } int main() { iosbase::syncwithstdio(false); cin.tie(nullptr); cin>>n; for(ll i=0; i<n; i++) { cin>>a[i]; } d1=1; for(ll i=0; i<n; i++) { s1=(s1+ltxin(a[i],i))%sct; } cout<<s1<<'\n'; return 0; } code full cho anh em do có 2 hàm lt cho anh em chọn nhé vậy là xong 60 bài mảng 1 chiều cơ bản rồi
include <bits/stdc++.h>
using namespace std;
define ll unsigned long long
ll lt(ll cs, ll sm, ll sc){ ll tich=1; for(ll i=0;i<sm;i++){ tich*=cs; tich%=sc; } return tich; } int main() { iosbase::syncwith_stdio(false); cin.tie(nullptr); ll n,s=0,temp=1e9 +7;cin>>n; vector<ll> v(n); for(ll &x:v)cin>>x; for(ll i=0;i<n;i++)s+=lt(v[i],i,temp); cout<<s%temp; return 0; }
ĐÃ DONE 60 BÀI MẢNG 1 CHIỀU R NHA AE
include <bits/stdc++.h>
using namespace std; using ll = long long; const ll MOD = 1000000007LL;
// modpowrec: tính base^exp % MOD bằng đệ quy (lũy thừa nhị phân) ll modpowrec(ll base, long long exp) { if (exp == 0) return 1 % MOD; ll half = modpowrec(base, exp / 2); ll res = (half * half) % MOD; if (exp % 2 == 1) res = (res * base) % MOD; return res; }
int main() { ios::syncwithstdio(false); cin.tie(nullptr);
}
Code của mình AC 100%: https://onecompiler.com/cpp/4482vybyq