c 语言求一个n位自然数a与333的积的各位数字的积

欢迎加入我们,一同切磋技术。 &
用户名: &&&
密 码: &
共有 1414 人关注过本帖
标题:求n的阶乘各位数之和,
等 级:论坛游民
帖 子:78
专家分:25
结帖率:40%
&&已结贴√
&&问题点数:20&&回复次数:7&&&
求n的阶乘各位数之和,
求各个位的数字的和
来 自:神界
等 级:贵宾
威 望:350
帖 子:11779
专家分:46424
DO IT YOURSELF !
等 级:论坛游民
帖 子:78
专家分:25
回复 2楼 wp231957
题目给的就是50 的
来 自:神界
等 级:贵宾
威 望:350
帖 子:11779
专家分:46424
这是用windows的计算器算的结果&&实在是太大了
DO IT YOURSELF !
来 自:女儿国的隔壁
等 级:贵宾
威 望:23
帖 子:2288
专家分:6481
&&得分:19&
程序代码:#include &stdio.h&
#include &string.h&
#define max 3000
int f[max];
int main() {
&&& int i, j, n, c, s,
&&& scanf(&%d&, &n);
&&& f[<font color=#] = <font color=#;
&&& for(i = <font color=#; i &= i++) {
&&&&&&&&c = <font color=#;
&&&&&&&&for(j = <font color=#; j & j++) {
&&&&&&&&&&&&s = f[j] * i +
&&&&&&&&&&&&f[j] = s % <font color=#;
&&&&&&&&&&&&c = s / <font color=#;
&&& for(j = max - <font color=#; j &= <font color=#; j--)
&&&&&&&&if(f[j]) break;
&&& for(i = i &= <font color=#; i--) printf(&%d&, f[i]);
&&& printf(&\n&);
&&& sum = <font color=#;
&&& for(i = i &= <font color=#; i--) sum += f[i];
&&& printf(&%d\n&, sum);
&&& return <font color=#;
给出我代码,有兴趣的可以想想...
仰望星空...........不忘初心!
等 级:论坛游民
帖 子:78
专家分:25
c是进位s是第某个数的乘积f[i]为n!的倒置位,倒数第i+1位
等 级:论坛游民
帖 子:78
专家分:25
回复 5楼 Susake
等 级:论坛游侠
帖 子:69
专家分:180
#include &stdio.h&//用数组来处理(因为数太大,无论长长整型,还是double型都不能达到目的)
#define M 1000
int a[M]={0};
void main()
&&& int n=50,i,j;
&&& a[M-1]=1;
&&& for(j=1;j&=n;j++)
&&&&&&&&for(i=M-1;i&=0;i--)
&&&&&&&&&&&&a[i]=a[i]*j;
&&&&&&&&for(i=M-1;i&0;i--)
&&&&&&&&&&&&a[i-1]+=a[i]/10;
&&&&&&&&&&&&a[i]=a[i]%10;
&&& for(i=0;i&M;i++)
&&&&&&&&if(a[i]!=0)
&&& for(i=j;i&M-1;i++)
&&&&&&&&printf(&%d&,a[i]);
&&& printf(&\n&);
版权所有,并保留所有权利。
Powered by , Processed in 0.062525 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入&#26684;式:每个测试输入包含1个测试用例,即给出自然数n的&#20540;。这里保证n小于10100。
输出&#26684;式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空&#26684;,但一行中最后一个拼音数字后没有空&#26684;。
输入样例:
输出样例:
#include&stdio.h&#define N 100#define M 5int main(){ char numChar[10][5]={&ling&,&yi&,&er&,&san&,&si&,&wu&,&liu&,&qi&,&ba&,&jiu&}; char array[N]; int sum=0,i=0,j; int index[M]; for(i=0;i&M;i&#43;&#43;)
index[i]=-1; scanf(&%s&,array); i=0; while(array[i]!='\0') {
sum&#43;=array[i]-'0';
i&#43;&#43;; } j=0; while(sum&0){
index[j]=sum%10;
sum=sum/10;
j&#43;&#43;; } for(i=M-1;i&=0;i--) {
if(index[i]!=-1)
printf(&%s&,numChar[index[i]]);
printf(&%s &,numChar[index[i]]);
} return 0;}
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:339次
排名:千里之外

我要回帖

更多关于 两个自然数的积是360 的文章

 

随机推荐