原题链接:蓝桥杯算法训练VIP-阿尔法乘积
要注意是所有的非0元素相乘 注意进行讨论 排除0元素
#include<stdio.h>
#include<string.h>
#include<math.h>
long long int weishu (long long int n)
{
long long int ans=0,i,j,k;
while(n>0)
{
n/=10;
ans++;
}
return ans;
}
long long int fun (long long int n)
{
long long int i,j;
long long int ans=1;
for(i=0;i<weishu(n);i++)
{
if(n/(int )pow(10,i)%10==0) continue;
ans*=n/(int )pow(10,i)%10;
}
return ans;
}
int main()
{
char x[200];
scanf("%s",x);
long long int i,j,k,initial=1,ans;
for(i=0;i<strlen(x);i++)
{
if(x[i]=='0') continue;
initial*=x[i]-'0';
}
ans=initial;
// printf("%lld\n",ans);
while(ans>=10)
{
ans=fun(ans);
}
printf("%lld",ans);
return 0;
}
9.9 分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复