Number Theory Problem(The 2016 ACM-ICPC Asia China-Final Contest 找規律)
題目:
Mr. Panda is one of the top specialists on number theory all over the world. Now Mr. Panda is investigating the property of the powers of 2. Since 7 is the lucky number of Mr. Panda, he is always interested in the number that is a multiple of 7. However, we know that there is no power of 2 that is a multiple of 7, but a power of 2 subtracted by one can be a multiple of 7. Mr. Panda wants to know how many positive integers less than 2n
Input:
The first line of the input gives the number of test cases, T. T test cases follow. Each test case contains only one positive interger N.
output:
For each test case, output one line containing “Case #x: y”, where x is the test case number (starting from 1) and y is the answer.
題意:給出一個數N,找有多少個數,這些數的大小小於2N,且這些數符合2k-1的形式。
思路:把100以內的這種數和對應的N輸出出來,會發現個數與N是成三倍的關系的。
#include <iostream> #include <cstring> #include <cstdio> #include <algorithm> #include <queue> #include <map> #include <set> #include <vector> #include <iomanip> usingView Codenamespace std; vector<long double> v; int read() { int res = 0; char op = getchar(); if(op>=‘0‘ && op<=‘9‘) { res = op-‘0‘; op = getchar(); } while(op>=‘0‘&&op<=‘9‘) { res = res*10+op-‘0‘; op = getchar(); } return res; } int main() { int T,n,cnt=1; T = read(); while(T--) { int n; n = read(); printf("Case #%d: %d\n",cnt++,n/3); } return 0; }
Number Theory Problem(The 2016 ACM-ICPC Asia China-Final Contest 找規律)