首页 > 其他分享 >p1182

p1182

时间:2024-04-29 17:47:02浏览次数:26  
标签:10 int else printf include p1182

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#define N 100

int F(int n,int a[N]){
    int i,j,p,q,m,t;
    int b[N]={0};
    if(n==0){
        a[0]=7;
    }
    else if(n==1){
        a[0]=1;
        a[1]=1;
    }
    else{
        a[0]=7;
        b[0]=1;
        b[1]=1;
        p=1;
        q=2;
        for(i=2;i<=n;i++){
            m=0;
            if(p>=q){
                t=p;
            }
            else{
                t=q;
            }
            for(j=0;j<t;j++){
                m=a[j]+b[j]+m;
                a[j]=m%10;
                m/=10;
            }
            if(m != 0){
                a[t]=m;
                
            }
        }
    }
}

void f(int a[N]){
    int i,j,x,m=0;
    while(a[m]){
        m++;
    }
    x=0;
    for(i=m-1;i>=0;i--){
        x=(x*10+a[i])%3;
    }
    if(x == 0){
        printf("yes\n");
    }
    else{
        printf("no\n");
    }
}
int main(){
    int n,i,j,x,m;
    
    while(scanf("%d",&n) != EOF){
        int a[N]={0};
        F(n,a);
        f(a);
    
    }
    
    return 0;
}

 

标签:10,int,else,printf,include,p1182
From: https://www.cnblogs.com/zy050101-/p/18166356

相关文章

  • 洛谷题单指南-二分查找与二分答案-P1182 数列分段 Section II
    原题链接:https://www.luogu.com.cn/problem/P1182题意解读:每段和的最大值越小,则分段数就越多,因此可以通过给定每段和的最大值,将分段数划分为两类:<=M,>M,对每段和的最大值进行二分即可。解题思路:二分的判定条件为,给定每段和的最大值,计算分段数,计算逻辑如下:依次遍历每一个数,求当前......
  • P1182 数列分段 Section II
    原题链接作为二分答案的入门题非常合适。很典型的二分答案。但是这题有一个坑点,left的值不能设为0这种确定的值,而是应该设为这个数组的最大值。这道题警示了我二分答案的一个重要前提:确定合理的二分区间。题解首先,判断单调性,对于一个最大值mid,如果能够满足check(),那么mid+1,mid+......
  • P1182 数列分段 Section II 题解
    Problem考察知识点:二分、贪心。题目描述对于给定的一个数组,现要将其分成\(M\)段,并要求每段连续,且每段和的最大值最小。思路二分答案出每段和最大值的最小值,然后贪心检验是否满足。难点在\(check\)上。策略:每次开始循环,如果没有超范围,就一直选,知道选满为止,求最大值。代......
  • P1182 数列分段 Section II
    题干 记录为了练二分答案过程中发生了以下脑瘫错误1.加了两次最后一个数 2.这个是因为凑答案,还是对二分板子不熟属于是个二分答案的板子,记一下,代码如下其中有......