标签:任务 整数 nbsp printf clu 题解 出现 std 编译
人有体力、情商、智商的高峰日子,它们分别每隔
23天、28天和33天出现一次。对于每个人,我们想.
知道何时三个高峰落在同一天。给定三个高峰出现
的日子p,e和i (不一定是第一次高峰出现的日子) ,
再给定另一个指定的日子d,你的任务是输出日子d
之后,下一次三个高峰落在同一天的日子(用距离d
的天数表示)。例如:给定日子为10,下次出现三
个高峰同一天的日子是12,则输出2。
输入
输入四个整数: p,e,i和d。p, e,i分别表示体力、情感和
智力高峰出现的日子。d是给定的日子,可能小于p,e或i。
所有给定日子是非负的并且小于或等于365,所求的日子小于
输出
从给定日子起,下一次三个高峰同一天的日子
的天数)
输入样例
0000
输出样例
21252
题解:
#include<stdio.h>
int main()
{
int p,e,i,d;
scanf("%d %d %d %d",&p,&e,&i,&d) ;
while(p>d){
p-=23;
}
int i1,j,k;
for(i1=p;i1<=21252;i1+=23){
for(j=e;j<=i1;j+=28){ //缩小j,k的编译范围,令其小于等于上一个循环数即可
for(k=i;k<=j;k+=33){
if(i1==j&&j==k&&i1>d){
printf("%d",i1-d);
goto out;
}
}
}
}
out:
return 0;
}
标签:任务 整数 nbsp printf clu 题解 出现 std 编译
原文地址:https://www.cnblogs.com/lijiahui-123/p/12231900.html