提交时间:2022-06-11 15:18:50

运行 ID: 41225

#include<iostream> using namespace std; long long n,ans=0; bool fun2(string str){ int l=str.size(); for(int i=0;i<l-1;i++){ if(str[i]=='7'&&str[i+1]=='7') return 1; } return 0; } bool fun1(string str){ int l=str.size(); for(int i=0;i<l-1;i++){ if(str[i]=='4'&&str[i+1]=='4') return 1; } return 0; } bool fun(long long x){ string str=""; while(x>0){ char a[1]=(x%10+'0'); str+=a[0]; x/=10; } return fun1(str)||fun2(str); } int main(){ cin>>n; for(int i=1;i<n;i++){ if(n%4==0||n%7==0||fun(n)) ans++; } cout<<ans; return 0; }