题目概述:
输入格式:
输入在一行中给出出生年份y和目标年份中不同数字的个数n,其中y在[1, 3000]之间,n可以是2、或3、或4。
输出格式:
根据输入,输出x和能达到要求的年份。数字间以1个空格分隔,行首尾不得有多余空格。年份要按4位输出。注意:所谓“n个数字都不相同”是指不同的数字正好是n个。如“2013”被视为满足“4位数字都不同”的条件,但不被视为满足2位或3位数字不同的条件。
编程:
#include< iostream>
using namespace std;
int bijiao(int n)
{
int a[10] = { 0 }, max = 0;
while(1)
{
a[n % 10]++;
n = n / 10;
if (n == 0)
break;
}
for (int i = 0; i < 10; i++)
{
if (a[i] > 0)max++;
}
return max;
}
int main()
{
int y, n, t;
cin >> y >> n;
t = y;
while (1)
{
if (bijiao(y) == n)
break;
y++;
}
cout << y - t << " " << y << endl;
return 0;
}
上机实践:
C++:出生年(团体程序设计天梯赛)
最新推荐文章于 2024-04-28 15:37:27 发布