【hdu - 1339 A Simple Task】
A Simple Task
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 2422 Accepted Submission(s): 1354
Problem Description
Given a positive integer n and the odd integer o and the nonnegative integer p such that n = o2^p.
Example
For n = 24, o = 3 and p = 3.
Task
Write a program which for each data set:
reads a positive integer n,
computes the odd integer o and the nonnegative integer p such that n = o2^p,
writes the result.
Example
For n = 24, o = 3 and p = 3.
Task
Write a program which for each data set:
reads a positive integer n,
computes the odd integer o and the nonnegative integer p such that n = o2^p,
writes the result.
Input
The
first line of the input contains exactly one positive integer d equal
to the number of data sets, 1 <= d <= 10. The data sets follow.
Each data set consists of exactly one line containing exactly one integer n, 1 <= n <= 10^6.
Each data set consists of exactly one line containing exactly one integer n, 1 <= n <= 10^6.
Output
The output should consists of exactly d lines, one line for each data set.
Line i, 1 <= i <= d, corresponds to the i-th input and should contain two integers o and p separated by a single space such that n = o2^p.
Line i, 1 <= i <= d, corresponds to the i-th input and should contain two integers o and p separated by a single space such that n = o2^p.
Sample Input
1
24
Sample Output
3 3
Source
Recommend
Ignatius.L
1 // Project name : 1339 ( A Simple Task ) 2 // File name : main.cpp 3 // Author : Izumu 4 // Date & Time : Sun Jul 8 19:35:53 2012 5 6 7 #include <iostream> 8 using namespace std; 9 10 int main() 11 { 12 int t; 13 cin >> t; 14 while (t--) 15 { 16 int num; 17 cin >> num; 18 int p = 0; 19 while (num % 2 == 0) 20 { 21 num /= 2; 22 p++; 23 } 24 cout << num << " " << p << endl; 25 } 26 return 0; 27 } 28 29 // end 30 // ism