#include <stdio.h> void rdump(int arr[],int len)
{
int i = ;
for(i=len-;i >= ; --i)
{
printf("%d",arr[i]);
}
printf("\n");
} void trailingZeroes(int n) {
int arr[] = {},len = ,i = ,j = ,c = ,d = ;
for(i=; i <= n; ++i)
{
for(j = ; j < len; ++j)
{
d = arr[j] * i + c;
arr[j] = d % ;
c = d / ;
}
for(; c > ; c /= )
{
arr[len++] = c % ;
}
}
rdump(arr,len);
} int main()
{
int n = ;
while()
{
scanf("%d",&n);
trailingZeroes(n);
}
return ;
}
相关文章
- C 数组模拟阶乘运算
- 【c1】数据类型,运算符/循环,数组/指针,结构体,main参数,static/extern,typedef
- 向量体系结构(5):步幅&&集中一分散- 在C语言中,矩阵的行存储是连续的,但列之间存在较大的步幅。以矩阵D为例,如果要连续访问其列中的元素(内层循环的目的),每次迭代需要跳过整个行的宽度。Fortran语言通常以列主序存储数组,意味着矩阵的列元素在内存中是连续的,意味着访问其连续行元素时需要跨过较多内存空间。 编译器在向量化代码时,需要识别并优化这些步幅问题,以便有效地利用向量处理器的并行能力。如果不对循环进行重新排序或调整访问模式,处理器可能无法有效加载连续的向量元素到寄存器中进行并行运算,这会影响性能。 编译器可以通过循环变换(如循环展开、循环交换等)来改善内存访问模式,以减小步幅或使其适应向量寄存器的宽度。例如,通过改变循环顺序,使内存访问变得更加连续,从而减少跨步读取的次数。 向量处理器处理非连续数据
- (待续)C#语言中的动态数组(ArrayList)模拟常用页面置换算法(FIFO、LRU、Optimal)
- POJ 3750 小孩报数问题 (线性表思想 约瑟夫问题 数组模拟运算的 没用循环链表,控制好下标的指向就很容易了)
- C#学习2——数组、运算符与类型转换
- 分支与循环的练习(阶乘,阶乘的加,数组中找数字,字符向两边汇聚,模拟用户登录场景,登三次)
- C++程序设计方法3:数组下标运算符重载
- C语言 数据结构之数组模拟实现顺序表流程详解
- C#学习笔记二 (资源托管,泛型,数组和元组,运算符和类型强制转换)