机考复习一:枚举和模拟(C++)

枚举

《王道机试指南》练习题,已通过牛客测试。

与7无关数

#include 
using namespace std;
int main(int argc, const char * argv[]) {
    int n,sum=0;
    cin>>n;
    for(int i=0;i<=n;i++){
        if(i%10 !=7 && i%7 != 0){
            sum+=i*i;
        }
    }
    cout<

百鸡问题

#include 
using namespace std;
int main(){
    int n,k;
    cin>>n;
    for(int i=0;i<=n/5;i++){
        for(int j=0;j<=(n-5*i)/3;j++){
            for(k=0;k<=(n-5*i-3*j)*3;k++){
            if(15*i+9*j+k <= 3*n && i+j+k==100){
                cout<<"x="<

Old Bill

#include
using namespace std;
int main(){
    int n,x,y,z,price,flag=0;
    cin>>n>>x>>y>>z;
    for(int i=9;i>0;i--){
        for(int j=9;j>=0;j--){
            price=i*10000+x*1000+y*100+z*10+j;
            if(price % n == 0){
                flag=1;
                cout<

模拟

图形排版

输出梯形(高、上底边为h的梯形)

#include 
using namespace std;

int main(int argc, const char * argv[]) {
    int h;
    cin>>h;
    for(int i=1;i<=h;i++){
        for(int j=1;j<=2*(h-i);j++){
            cout<<" ";
        }
        for(int k=1;k<=h+2*(i-1);k++){
            cout<<"*";
        }
        cout<
机考复习一:枚举和模拟(C++)_第1张图片

叠框

思路:先构造一个字符二维矩阵,然后从外向内添加元素

char M[80][80];
int main(){
    int i=0,j=0,n,c;
    char zx,wb;
    cin>>n>>zx>>wb;
    //n是奇正整数,c是层数
    c=(n+1)/2;
    for(int k=0;k
机考复习一:枚举和模拟(C++)_第2张图片

你可能感兴趣的:(机考准备,c++,算法,考研)