question link : link: Online Judge
my solution :
#include<bits/stdc++.h>
#include
#include
using namespace std;
set claps;
bool haveClapped(long long num)
{
if(claps.count(num))
return false;
claps.insert(num);
if(num%7==0)
return true;
while(num)
{
if(num%10==7)
return true;
num /= 10;
}
return false;
}
int main()
{
int m,n,k,clapped;
bool decider;
long long currentNum;
clapped=0;
while(scanf(“%d %d %d”,&n,&m,&k) && m)
{
claps.clear();
clapped=0;
currentNum=m;
decider=true;
while(1)
{
if(haveClapped(currentNum))
{
cout<<currentNum<<endl;
clapped++;
}
if(clapped==k) break;
if(decider)
{
currentNum += 2*(n-m);
decider=false;
}
else
{
currentNum += 2*(m-1);
decider=true;
}
}
cout<<currentNum<<endl;
}
}