如题,程序如下:
public static void num(int a) {
if (a >= 9) {
num(a / 10);
}
int tem = a % 10;
temp.add(tem);
}
static List<Integer> temp;
public static void main(String[] args) {
System.out.println("请输入一个正整数:");
Scanner scan = new Scanner(System.in);
temp = new ArrayList<>();
int a = scan.nextInt();
num(a);
int result = -1;
for (int i = 0; i < temp.size(); i++) {
if (i == 0) {
result = temp.get(0);
continue;
}
result *= temp.get(i);
}
System.out.println("结果:" + result);
}
结果如下:
#include <stdio.h>
#include <math.h>
int main()
{
int num,saveNum=0,i=0,result=1;
scanf("%d",&num);
saveNum=num;
for(i=0;i<(int)log10(saveNum) + 1;i++){
if(saveNum<10){
result=saveNum;
break;
}else{
if(num>10){
printf("i=%d,num=%d\n",i,num);
result=(num%((num/10)*10))*result;
num/=10;
}else{
result*=num;
}
}
}
printf("finishresult=%d\n",result);
return 0;
}
看不懂的地方私信我,感兴趣可以关注一下交流学习