저작권 :에서 : Jihome https://blog.csdn.net/jihome/article/details/89162549
1. 퍼지 숫자
문제 : 만일 백 모르는 다섯 번째,하지만 57, 67의 배수, 찾을 수있는 모든 가능성이다.
분석 : 모든 경우를 직접 열거 판사 캔.
#include <iostream>
using namespace std;
int main(){
int w,q,b,s,g;
int sum,i,count=0,j;
int n[10];
cin>>q>>s>>g;
while((q!=-1)||(s!=-1)||(g!=-1)){
sum=q*1000+s*10+g;
for(j=1;j<10;j++) {
for(i=0;i<10;i++){
sum=sum+i*100+j*10000;
if(sum%57==0&&sum%67==0)
{
n[count++]=sum;
}
}
}
cout<<count<<" ";
for(i=0;i<count;i++){
cout<<n[i]<<" ";
}
count=0;
cout<<endl;
cin>>w>>q>>s>>g;
};
return 0;
}
N은 2.M 돈 닭 문제를 구매
질문 : 5 개 수컷, 3 개 암탉, 닭 세 한 모든 가능한 솔루션 m N 돈 닭을 얻었다.
분석 : 폭력 (루프 이중으로 단순화 될 수있다), 트리플 루프를 해결했다.
#include <iostream>
using namespace std;
int main(){
int m,n,count=0;
int i,j,k;
Maybe M[100];
cin>>m>>n;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
for(k=0;k<n;k++){
if((i+k+j==n)&&(i*5+j*3+k/3.0==m)){
count++;
}
}
}
}
cout<<count<<endl;
return 0;
}
개선 :
K 직접 두의 총 수와 저장 한 다음은, 적어도 하나의주기를 결정합니다. 작업 효율이 크게 향상된다.
3. 정품 실버
질문 : 12 개 은색 동전, 가짜, 위조 지폐, 실제 돈이나 빛보다 무거운에게 세 가지 테스트로, 위조 지폐의 심각성을 알지 못한다.
분석 : 진실과 거짓 사이의 각 동전 테스트로 생각 리버스 상태가 될 수 있습니다.
#include <iostream>
#include <cstring>
using namespace std;
bool isHeavy(char );
bool isLight(char );
char Left[3][10],Right[3][10],Than[3][10];
int main(){
int n,i;
char c;
cin>>n;
while(n--){
for(i=0;i<3;i++){
cin>>Left[i]>>Right[i]>>Than[i];
}
for(c='A';c<='L';c++){
if(isLight(c)){
cout<<c<<" "<<"light"<<endl;
break;
}
if(isHeavy(c)){
cout<<c<<" "<<"heavy"<<endl;
break;
}
}
}
return 0;
}
bool isHeavy(char c){
for(int i=0;i<3;i++){
switch(Than[i][0]){
case 'u':
if(strchr(Left[i],c)==NULL)
return false;break;
case 'e':
if((strchr(Left[i],c)!=NULL)||(strchr(Right[i],c)!=NULL))
return false;break;
case 'd':
if(strchr(Right[i],c)==NULL)
return false;break;
}
}
return true;
}
bool isLight(char c){
for(int i=0;i<3;i++){
switch(Than[i][0]){
case 'u':
if(strchr(Right[i],c)==NULL)
return false;break;
case 'e':
if((strchr(Left[i],c)!=NULL)||(strchr(Right[i],c)!=NULL))
return false;break;
case 'd':
if(strchr(Left[i],c)==NULL)
return false;break;
}
}
return true;
}
피트 경고 : 문자가 오른쪽, 왼쪽 정의합니다 왜 첫 글자가 소문자하지보다 주어진되지 후 DevC의 사용은 ++, I는 대문자를 모른다.
내부의 휴식을 잊지 마세요 시간 스위치의 심각도를 결정합니다.