前提・実現したいこと
この問題を解きたいです。
https://abs.contest.atcoder.jp/tasks/abc083_b
At CoderではCのGCC5.4.1を選択しました。
ですが使ってるのをgcc--versionで確認すると4.8.5と出ましたが
これって大丈夫なんでしょうか。。
発生している問題・エラーメッセージ
上のページの入出力例は成功しましたが AtCoderに提出するといくつかのtest caseでWAと出ます。 また、コンパイルメッセージに ./Main.c: In function ‘main’: ./Main.c:21:3: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d %d %d", &n, &a, &b); ^ と表示されました。
該当のソースコード
C
1 2#include<stdio.h> 3#include<math.h> 4 5int main(void){ 6 7 int n=0, a=0, b=0; 8 int i=0; 9 int k=0; 10 int num[10000]={0};//1からnまでの整数を格納する配列 11 int j=0;//num[]の添字 12 int num_q[5]={0};//各numの各桁の値を保存する 13 /*下記の計算方法で割り算を行うと10^kから10^0まで割り算を 14 するから、回数はk-0+1でk+1回。いま<10^4つまり5桁までの数字という 15 制約があるから添字は*/ 16 int num_q_sum=0;//各numの桁数の和 17 int all_sum=0;//桁の和がa以上b以下を満したnumを足す 18 int back_num=0; 19 int back_k=0; 20 21 scanf("%d %d %d", &n, &a, &b); 22 23 //1からnまでの整数を格納した配列をつくる 24 for(i=0; i<n; i++){ 25 num[i]=i+1; 26 } 27 28 //それぞれの整数について、桁の和が条件を満すかを確認するためのfor文 29 for(j=0; j<n; j++){ 30 //それぞれの整数10の何乗で割るかをきめるためにやるやつで 31 //例えばnum[j]=11のとき、11<10^2よりk=1 32 for(i=0; i<5; i++){ 33 if( (float)num[j] < powf(10, (float)i) ){ 34 k=i-1; 35 break; 36 } 37 } 38 39 back_num=num[j]; 40 i=0; 41 back_k=k; 42 /*num[j]を10のk乗で割った商(num_q)はnum[j]の最上位の数字、 43 num[j]-num_qを10のk-1乗で割った商はnum[j]の上から二桁目の数字、 44 というのを利用して一回ごとに配列num_qに各桁の値を保存するためのwhile文*/ 45 while(k>=0){ 46 num_q[i] = num[j] / powf(10.0, (float)k); 47 num[j] = num[j] - num_q[i] * powf(10.0, (float)k); 48 i++; 49 k--; 50 } 51 //num[j]が0になるので上でback_numにcopyしておいてall_sumを 52 //求めるときに使う 53 54 //num[j]の各けたを足し算する 55 for(i=0; i<back_k+1; i++){ 56 num_q_sum=num_q_sum + num_q[i]; 57 } 58 59 if(num_q_sum>=a && num_q_sum<=b){ 60 all_sum=all_sum+back_num; 61 } 62 63 num_q_sum=0; 64 } 65 66 printf("%d\n", all_sum); 67 68 return 0; 69} 70
試したこと
実行しても希望どおりになるので何も試せませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/04/26 09:45
退会済みユーザー
2018/04/29 00:12
2018/04/29 00:56 編集
2018/04/29 01:36
退会済みユーザー
2018/04/29 02:43
2018/04/29 03:10