简单的大一题目
为什么我写的这个没有输出?
(唯唯诺诺)
#include
using namespace std;
int main() {
int y;
int m = 0;
int n;
cin >> y;
cin >> n;
int num = y;
int temp;
int a[9] = {0};
for (int v = 0; v <= 3000 - y; v++) {
for (int i = 0; i < 4; i++) {
temp = num % 10;
num = num / 10;
a[temp] = 1;//想要去重
}
for (int z : a) {
if (z = 1)
m++;
}
if (m == n) {
cout << v << " ";
v = 3001;
} else {
num = y + v + 1;
}
}
return 0;
}
我又来了QAQ
28行if (z = 1)缺个=
#include <iomanip>
#include <iostream>
using namespace std;
int main()
{
int y = 1988;
int m = 0;
int n = 4;
int age = 0; //输出年龄
cin >> y >> n;
int num = y;
int temp;
// int a[9] = {0};
// for (int v = 0; v <= 3000 - y; v++)
for (int v = y; v <= 3000; v++, age++) //从出生年开始算
{
int a[10] = {0}; //每次循环前先置零,10个数字
num = v;
int c = 0; //记录数字长度
// for (int i = 0; i < 4; i++)
while (num)
{
temp = num % 10;
num = num / 10;
// a[temp] = 1; //想要去重
a[temp]++;
c++;
}
if (c < n)
a[0] = n - c; //前置0的数量
m = 0; //每年重置
for (int z : a)
{
if (z == 1)
m++;
}
if (m == n)
{
// cout << v << " ";
// v = 3001;
cout << age << " " << setw(4) << setfill('0') << v << endl;
break;
}
// else
// {
// num = y + v + 1;
// }
}
return 0;
}