关于数论的一些问题
1.十进制如何转化为八进制十六进制N进制:正数除N反余,小数乘N取整;翻过来时各个位分别乘以N的x(位数)次幂
As a recruiting ploy, Google once posted billboards in Harvard Square and in the Silicon Valley area just stating “{first 10-digit prime found in consecutive digits of e}.com”. In other words, find that 10-digit sequence and then connect to the web site — and find out that Google is trying to hire people who can solve a particular kind of problem.
Not to be outdone, Gaggle (a loosy-goosy fuzzy logic search firm), has devised its own recruiting problem. Consider the base 7 expansion of a rational number. For example, the first few digits of the base 7 expansion of 1/5 10 = 0.12541... 7, 33/4 10 = 11.15151... 7, and 6/49 10 = 0.06000... 7, From this expansion, find the digits in a particular range of positions to the right of the "decimal" point.
- Problem set k: n / d, base 7 digits b through e: result
where k is replaced by the problem set number, result is your computed result, and the other values are the corresponding input values.
4 1 5 0 0 6 49 1 3 33 4 2 7 511 977 122 126
Problem set 1: 1 / 5, base 7 digits 0 through 0: 1 Problem set 2: 6 / 49, base 7 digits 1 through 3: 600 Problem set 3: 33 / 4, base 7 digits 2 through 7: 151515 Problem set 4: 511 / 977, base 7 digits 122 through 126: 12425
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <cmath>
int main()
{
int n,num,p,i,a,b,l,r;
int ans[5050];
scanf("%d",&n);
for(num=1;num<=n;num++)
{
memset(ans,0,sizeof(ans));
scanf("%d %d %d %d",&a,&b,&l,&r);
p=a;
a=a%b;
int k=0;
while(k<=r)
{
a=a*7;
ans[k]=a/b;
a=a%b;
k++;
}
printf("Problem set %d: %d / %d, base 7 digits %d through %d: ",num,p,b,l,r);
for(i=l;i<=r;i++)
{
printf("%d",ans[i]);
}
printf("\n");
}
return 0;
}