2.有这样5个数,将这5个数的每位分离出来正好表示从1-9这9个数字且不重复,如果将这5个数按一定次序排,那么后一个数字将比前一个数字大9,求这5个数。
4 个解决方案
#1
nnd,竟然还有这么分果子的,第一个人得1份,第2个得2份,越晚了越多。真腐败。
拿香蕉皮砸这个巴拉的幼儿园老师
拿香蕉皮砸这个巴拉的幼儿园老师
#2
不一定,比如原来100个果子,分成100等份...好象先拿的人合算
#3
呵呵,刚才我一看题目就“怒“了。
#4
#pragma warning (disable: 4786)
#include<iostream>
#include<set>
using namespace std;
int main(){
set<int> sett ;
pair<set<int>::iterator,bool> ret;
int i,j;
for(i=5;i<=9;i++){
sett.clear();
sett.insert(i);
for(j=1;j< 5;j++){
ret= sett.insert(i-j);
if(ret.second==false) break;
ret= sett.insert(j);
if(ret.second==false) break;
}
if(5==j) break;
}
cout << "The five nums are:\n";
for(j=0;j<5;j++)
cout << i+j*9 << endl;
return 0;
}
#1
nnd,竟然还有这么分果子的,第一个人得1份,第2个得2份,越晚了越多。真腐败。
拿香蕉皮砸这个巴拉的幼儿园老师
拿香蕉皮砸这个巴拉的幼儿园老师
#2
不一定,比如原来100个果子,分成100等份...好象先拿的人合算
#3
呵呵,刚才我一看题目就“怒“了。
#4
#pragma warning (disable: 4786)
#include<iostream>
#include<set>
using namespace std;
int main(){
set<int> sett ;
pair<set<int>::iterator,bool> ret;
int i,j;
for(i=5;i<=9;i++){
sett.clear();
sett.insert(i);
for(j=1;j< 5;j++){
ret= sett.insert(i-j);
if(ret.second==false) break;
ret= sett.insert(j);
if(ret.second==false) break;
}
if(5==j) break;
}
cout << "The five nums are:\n";
for(j=0;j<5;j++)
cout << i+j*9 << endl;
return 0;
}