AOJ 0162 Hamming Numbers
こんにちは川です。
今回の問題は、ハミング数が1 * 2^n * 3^m * 5^x (0<=n,m,x)らしいので
ハミング数を割り出し、for分でまわして適当にやりました。
#include<bits/stdc++.h>
#define MAX 1000001
using
namespace
std;
int
main()
{
bool
hamming[MAX]={};
for
(
int
i=1;i<MAX;i*=2){
for
(
int
j=i;j<MAX;j*=3){
for
(
int
k=j;k<MAX;k*=5)hamming[k]=1;
}
}
int
m;
while
(cin>>m,m){
int
n,co=0;
cin>>n;
for
(
int
i=m;i<=n;i++)
if
(hamming[i])co++;
cout<<co<<endl;
}
}