13,826
社区成员
369 寝室是比较特殊的寝室,因为别的寝室都住了四个人,而 369 寝室只有三个人。也因为这个原因,寝室里的三位同学感情特别好。但是,毕业在即,三位小伙伴马上要分别。为了在未来的某个日子可以见面,三位小伙伴有了一个约定,假设在未来的某一年,三位小伙伴的年龄的末尾正好出现3、6、9\9 三个数,那么他们会再次相聚。
问题来了,假设今年三位小伙伴的年龄分别是\ x x,yy,zz,那么,他们三人最早几年后可以相聚呢?
输入
输入数据包括三个整数\ x x,yy,zz,分别表示三位伙伴的年龄。
输出
'so sad!'
输入样例复制
25 22 28
输出样例复制
1
#include
using namespace std;
int main()
{
int xx,yy,zz;
cin >>xx >>yy >>zz;
for(int i=0;i<100;i++)
{
xx++;
yy++;
zz++;
int x,y,z;
x = xx%10;
y = yy%10;
z = zz%10;
if(x==3&&y==6&&z==9)
{
cout <<i;
}
}
}
我的方法
#include
using namespace std;
int main(){
int x,y,z;
cin>>x>>y>>z;
for(int i = 1;i<=10;i++){
x++;
y++;
z++;
int a = x%10,b=y%10,c=z%10;
if(a >b)swap(a,b);
if(a>c)swap(a,c);
if(b>c)swap(b,c);
if(a==3&&b==6&&c==9){
cout<<i;
return 0;
}
}
cout<<"so sad!";
}
#include <stdio.h>
int main()
{
const int p[6][3] = {3, 6, 9, 3, 9, 6, 6, 3, 9, 6, 9, 3, 9, 3, 6, 9, 6, 3};
int n, x, y, z;
for (n = (scanf("%d%d%d", &x, &y, &z), 0); n < 10 && x; n++, x++, y++, z++)
for (int i = 0; i < 6; i++)
x % 10 == p[i][0] && y % 10 == p[i][1] &&
z % 10 == p[i][2] ? i = 6, n--, x = -1 : 0;
printf(n < 10 ? "%d\n" : "so sad!%0.d\n", n < 10 ? n : 0);
return 0;
}