MT34. 数字构造
描述
对于一个十进制数而言,它的数位和等于将它各位数字相加得到的和。比如 231 的数位和 是 6,3179 的数位和是 20。
输入描述
第一行包含一个整数𝑠输出描述
输出满足条件的最大整数。示例1
输入:
1
输出:
1
示例2
输入:
2
输出:
2
C 解法, 执行用时: 1ms, 内存消耗: 380KB, 提交时间: 2020-07-07
#include <stdio.h> #include <stdlib.h> int main(void) { int s,tmp,len,i; scanf("%d",&s); if(s==1) { printf("1"); return 0; } else if(s==2) { printf("2"); return 0; } else { tmp=s%3; len=s/3; if(tmp==0) { for(i=0;i<len;i++) printf("21"); return 0; } else if(tmp==1) { for(i=0;i<len;i++) printf("12"); printf("1"); return 0; } else if(tmp==2) { for(i=0;i<len;i++) printf("21"); printf("2"); return 0; } } }
C 解法, 执行用时: 2ms, 内存消耗: 376KB, 提交时间: 2020-12-18
#include<stdio.h> int main(void) { int n,i,temp,len; while(scanf("%d",&n)!=EOF) { if(n==1) { printf("1"); return 0; } else if(n==2) { printf("2"); return 0; } else { temp=n%3; len=n/3; if(temp==0) { for(i=0;i<len;i++) printf("21"); return 0; } else if(temp==1) { for(i=0;i<len;i++) printf("12"); printf("1"); return 0; } else if(temp==2) { for(i=0;i<len;i++) printf("21"); printf("2"); return 0; } } } return 0; }