我是真来求助的,大佬救命
查看原帖
我是真来求助的,大佬救命
1588333
psyche_xin楼主2024/12/3 17:20
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int n;scanf("%d",&n);
    int F[60]={0};
    int b[60]={0};int p=1;for(int i=0;i<60;i++){b[i]=p;p*=2;}
    int a[60]={0};
    int count=0;
    for(int i=0;i<n;i++)
    {
        A(*a,1);
        F[0]++;judge(*F);
        count+=COUNT(*F,count);
    }
    printf("%d",count);
}
int judge(int*F)
{

    if(*F==0||*F==1)return;
    else{*F=0;F++;*F+=1;judge(*F);return;}
}
int A(int*a,int p)
{
    *a++;
    if(*a>p){*a=0;a++;(*a)++;A(*a,p*=2);}
}
int COUNT(int *F,int count)
{
    
    for(int i=0;i<60;i++)
    {
        if(*F==1)count++;
        F++;
    }
    return count;
}
2024/12/3 17:20
加载中...