1 条题解
-
0
C :
#include<stdio.h> int main() { int n; while(scanf("%d",&n)!=EOF) { printf("%d",n); while(1) { if(n%2==0) { printf("-%d",n/2); n=n/2; } else { printf("-%d",n+1); n=n+1; } if(n==1) break; } printf("\n"); } }
C++ :
#include <stdio.h> int n; void run() { printf("%d",n); while(n!=1) { if(n%2==1) n++; else n/=2; printf("-%d",n);//这道题唯一值得注意的地方就是不要输出多余的减号!!!每行里减号比数要少一个,所以注意判断。 } printf("\n"); } int main() { while(scanf("%d",&n)!=EOF) run(); return 0; }
Java :
import java.util.*; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in) ; while(input.hasNextInt()){ int n = input.nextInt(); System.out.print(n+"-"); while(n!=1){ if(n%2==0){ n=n/2;System.out.print(n);} else {n=n+1;System.out.print(n);} if(n!=1) System.out.print("-"); else System.out.println(); } } } }
- 1
信息
- ID
- 1834
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者