您的位置:首页 > 其它

水题 判断能否被4整除或者含 有4

2014-02-16 15:45 141 查看

D:迷信的吴医生和机智的护士

View
Submit
Statistics
Clarify

总Time Limit: 1000ms Memory Limit: 65536kB

Description

吴医生是个很迷信的医生,他认为与4相关的数字都会带来厄运,因此他拒绝为所有挂号单序号中有数字4,或序号能被4整除的病人看病。(每张挂号单有一个唯的序号)

小李是一名年轻的护士,虽然对吴医生的怪癖好不能理解,但他是内科最权威的医生, 小李无法阻止他的我行素。为了能让每个病人都顺利的看上病,小李决定只给病人们不含有数字4,并且不被4整除的序号挂单。

今天门诊部刚开门,就来了n位病人都要挂吴医生的专家门诊(n为正整数,且 n < 50),请问小李能开给这n位病人的挂号单的序号总和最小是多少?

Input输入为一行,正整数n,n < 50
Output输出为一行,输出最小的序号总和
Sample Input
10


Sample Output
67


Hint(1) 67 = 1 + 2 + 3 + 5 + 6 + 7 + 9 + 10 + 11 + 13

(2) 前15个最小的序号是:1 2 3 5 6 7 9 10 11 13 15 17 18 19 21

(3) 第50小的序号是81

水 , 不想多说什么源代码:
#include<iostream>
using namespace std;

bool ans(int a)
{//判断不能被4 整除并且不含有4 的数
if(a%4 == 0)
return false;
while(a)
{
if(a%10 == 4)
{
return false;
}
a /= 10;
}
return true;
}
int main()
{
int n, i;
cin>>n;
int k = 0;
int sum = 0;

for(i = 1; ;i++)
{
if(ans(i))
{
sum += i;
k++;
}
if(k >= n)
{
break;
}
}
cout<<sum<<endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: