具体题目忘记了
大概意思是:
任意输入数字n,n若可以拆分成4和7组成(即n=4a+7b,a>=0,b>=0)则输出最小的组合数,否则输出-1
例子
intput:
11
output:
47
代码:
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int a4 = 0;
int a7 = 0;
if (n % 7 == 0) {
a4 = 0;
a7 = n / 7;
}
if ((n - 1) % 7 == 0) {//8
a4 = 2;
a7 = (n - 8) / 7;
}
if ((n - 2) % 7 == 0) {//16
a4 = 4;
a7 = (n - 16) / 7;
}
if ((n - 3) % 7 == 0) {//24
a4 = 6;
a7 = (n - 24) / 7;
}
if ((n - 4) % 7 == 0) {//11
a4 = 1;
a7 = (n - 4) / 7;
}
if ((n - 5) % 7 == 0) {//12
a4 = 3;
a7 = (n - 12) / 7;
}
if ((n - 6) % 7 == 0) {//20
a4 = 5;
a7 = (n - 20) / 7;
}
for (int i = 0; i < a4; i++) {//
cout << 4;
}
for (int i = 0; i < a7; i++) {
cout << 7;
}
if (a4 == 0 && a7 == 0){
cout << -1;
}
return 0;
}