叶不睡 发表于 2022-3-4 21:31:21

自己打的两个代码求大佬帮助

#include <stdio.h>
int main()
{
int n,i,m,k;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(k=i;k>0;k/10)
{
   m=k-(k/10)*10;
   if(m==7)
   {break;}
}
if(m!=7&&i%7==0)
{printf("%4d",i);}
}
return 0;
}
#include <stdio.h>
int main()
{
int n,m,a=1,b=1,c=1,s,i;
scanf("%d %d",&n,&m);
for(i=1;i<=n;i++)
{
a=a*i;
}
for(i=1;i<=m;i++)
{
b=b*i;
}
for(i=1;i<=(n-m);i++)
{
c=c*i;
}
s=a/(b*c);
printf("%d",s);
return 0;
}

YSW9527 发表于 2022-3-4 22:19:29

不明白你要干什么,有什么问题或者题目是什么要说一下吧
{:10_279:}

jackz007 发表于 2022-3-4 22:43:55

       第一个代码
m=k-(k/10)*10;
       楼主能解释一下这一句代码的意图吗?

傻眼貓咪 发表于 2022-3-5 10:02:17

combination 组合公式?

#include <stdio.h>

unsigned long long f(int n){
        if(!n) return 1;
        return n * f(n-1);
}

double combination(int n, int r){
        return (double)(f(n)) / (f(r) * f(n - r));
}

int main(){
        printf("%.0lf", combination(12, 7));
        return 0;
}792

jhq999 发表于 2022-3-5 19:41:54

int main()
{
int n,i,m,k;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(k=i;k>0;k/=10)//没有等号i>9就是死循环,作用是判断i这个数当中有没有7
{
   m=k%10;
   if(m==7)
   {break;}
}
if(m!=7&&i%7==0)//i之中如果没7且能被7整除,输出这个数
{printf("%4d",i);}
}
return 0;
}
页: [1]
查看完整版本: 自己打的两个代码求大佬帮助