Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- long long bagi = 1000000007;
- long long hasil1(long long awal, long long angka,long long pangkat)
- { int jawab=awal;
- if(angka==1) return angka;
- if(pangkat!=1)
- {
- jawab*=3;
- hasil1(jawab,angka,pangkat-1);
- }else if (jawab>1000000007) return (jawab%bagi);
- else return jawab;
- }
- long long hasil2(long long awal, long long angka,long long pangkat)
- {
- int jawab=awal;
- if(angka==2)
- return angka;
- if(pangkat!=0)
- {
- jawab*=3;
- hasil2(jawab,angka,pangkat-1);
- }else if (jawab>1000000007) return (jawab%bagi);
- else return jawab;
- }
- long long hasil3(long long awal,long long angka,long long pangkat)
- { int jawab=awal;
- if(angka==3)
- return angka;
- if(pangkat!=0)
- {
- jawab*=3;
- hasil3(jawab,angka,pangkat-1);
- }else if (jawab>1000000007) return (jawab%bagi);
- else return jawab;
- }
- int main()
- {long long n,i,uang,cek;
- scanf("%lld",&n);
- for(i=0;i<n;i++)
- {
- scanf("%lld",&uang);
- cek=uang%3;
- if(cek==1) printf("%lld\n",hasil1(4,uang,uang/3));
- else if(cek==2) printf("%lld\n", hasil2(2,uang,uang/3));
- else printf("%lld\n",hasil3(1,uang,uang/3));
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement