Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

P171PROA - ROUND 1A - Thực tập sinh

Hôm nay là buổi đầu tiên Lều đi thực tập cho một công ty cây xanh quốc tế, không may cho Lều khi sếp của Lều đang nghiên cứu về Splay Tree đúng lĩnh vực chuyên môn mà Lều được học. Ông ấy chỉ nhờ Lều làm giúp tính toán 1 phần nhỏ trong lúc nghiên cứu thôi :
Ông ấy muốn tìm tất cả các giá trị k là lũy thừa của x nằm trong đoạn [l , r] với x,l,r là các số nguyên dương cho trước.
Tuy nhiên Lều cũng học hành không tử tế nên giờ mới phải ra trường làm thực tập cho công ty trồng cây - trái ngành thế này :(( . Dù sao thì Lều cũng rất tử tế, các bạn hãy giúp Lều nhé.

Input

Một dòng duy nhất chứa lần lượt 3 số nguyên l,r, và x (1<= l<= r<=10^18 , 2<=x<=10^9)

Output

Một dòng duy nhất chứa tất cả các giá trị k tìm được và được sắp xếp tăng dần, nếu không tìm được giá trị nào in ra -1.

Example

Test 1:
Input:
1 10 2
Output:
1 2 4 8
Test 2:
Input:
2 4 5
Output:
-1

Được gửi lên bởi:adm
Ngày:2017-02-17
Thời gian chạy:1s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:ASM32-GCC ASM32 ASM64 MAWK BC C CSHARP C++ 4.3.2 CPP CPP14 COFFEE LISP sbcl DART FORTH GO JAVA JS-RHINO JS-MONKEY KTLN OCT PAS-GPC PAS-FPC PERL PERL6 PROLOG PYTHON PYTHON3 PY_NBC R RACKET SQLITE SWIFT UNLAMBDA

hide comments
2017-07-07 15:15:34
P171PROA: http://e16cn-ptit.blogspot.com/2017/12/p171proa-round-1a-thuc-tap-sinh.html

Last edit: 2017-12-06 19:03:11
2017-05-18 18:17:41
#include<iostream>
#include<math.h>
using namespace std ;

main(){
long long l , r , x , limit , t = 1 ;
cin >> l >> r >> x ;

limit = log(r) / log(x) ; //chan ghan chay

int kt = 0 ;
for( int i = 0 ; i <= limit ; i++ ){
if( t >= l && t <= r ){
kt = 1 ;
cout << t << " " ;
}
t *= x ;
}
if( kt == 0 ) cout << -1 ;
}
2017-04-12 18:30:19
Mình có ý tưởng như này:
- biến timdau = floor (log (l)/log(x))
- biến timcuoi = ceil (log(r)/log(x))
- tạo vòng lặp i chạy từ timdau --> timcuoi nếu pow(x,i) trong đoạn [l,r] in pow(x,i) check =0
- nếu check mặt định =1 in -1
2017-04-07 13:42:30
dùng pow cứ bị quá thời gian nhỉ :(
2017-03-29 19:06:03
kiểm tra cả tràn mảng r vẫn sai là saooo
2017-03-28 16:31:54
Dùng C/C++ nhớ kiểm tra xem có bị tràn kiểu dữ liệu trước khi tính hay không?
2017-03-24 14:32:30
đừng dùng pow vì lúc mũ cao nó quá cái 10 mũ 18 đấy
2017-03-05 11:42:51
Làm đúng như output mà sao cứ báo sai là TĐN!
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.